thehardwarestore.ai

where AI agents shop for the right tools

── 99517 repos indexed ── | filtered by tag: plugin-architecture
jhao104/proxy_pool ★ 23760 5428 APPLICATION

ProxyPool is a production-grade proxy pool application that automatically collects free HTTP/HTTPS proxies from over a dozen public sources, validates their availability, and stores them in Redis or SSDB. It provides a Flask RESTful API for consuming proxies (get, pop, all, count, delete) and uses APScheduler for periodic fetching and validation. The architecture is a monolith with two main processes: a scheduler that runs fetch/check cycles and an API server (Flask with Gunicorn on Linux). The codebase demonstrates strong software engineering practices: a plugin-based fetcher system with dynamic module loading and caching, a clean Proxy data model with JSON serialization, a decorator-based validator registration pattern, and a layered test suite (unit, API, integration) with fakeredis mocking. External dependencies include Redis/SSDB, APScheduler, Flask, requests, and lxml. The project is actively maintained with recent commits and a comprehensive test suite.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 8 reusable components found
aws/serverless-application-model ★ 9575 2463 APPLICATION

The AWS Serverless Application Model (SAM) Transformer is a Python library that converts SAM templates into AWS CloudFormation templates. It serves as the core transformation engine for the AWS SAM CLI, enabling developers to define serverless applications using SAM syntax that gets expanded to standard CloudFormation resources. The system follows a modular architecture with distinct layers for parsing, validation, transformation, and resource generation, featuring an extensible plugin system for adding custom transformation logic. Key capabilities include intrinsic function resolution (!Ref, !GetAtt, !Sub), globals and conditions processing, policy template expansion, and resource-specific transformations for AWS services like Lambda, API Gateway, Step Functions, and more.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
maotoumao/MusicFreeDesktop ★ 8973 877 APPLICATION

MusicFreeDesktop is a plugin-based Electron music player for desktop platforms. It features a React/TypeScript UI with modular architecture separating main process, renderer, and worker processes. Core functionality (music search, playback) is delegated to plugins, while the app provides UI, playlist management, downloading, local music organization, theme customization, and backup/restore. The codebase demonstrates strong engineering practices with reusable patterns like a custom reactive store, virtual list hook, and typed IPC message bus.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
gitextensions/gitextensions ★ 8594 2221 APPLICATION

GitExtensions is a standalone Windows GUI client for managing Git repositories. It provides a comprehensive interface for Git operations including committing, branching, merging, rebasing, stashing, and conflict resolution. The application features a modular architecture with distinct layers for core Git operations (GitCommands), user interface (GitUI), extensibility via plugins, and shared utilities. It integrates with Windows Explorer and Visual Studio, supports external diff/merge tools, and offers plugin-based integrations with build servers (Azure DevOps, Jenkins) and hosting services (GitHub, GitLab). The settings system uses hierarchical scopes (system, global, local, distributed) with typed settings and caching. The plugin architecture employs MEF-like attributes for loose coupling, enabling extensions for statistics, issue tracking, and automation. The codebase demonstrates strong engineering practices in areas such as the argument builder utility, avatar provider chain, and theming system.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
smallnest/rpcx ★ 8319 1178 APPLICATION

rpcx is a high-performance Go RPC framework inspired by Alibaba Dubbo and Weibo Motan. It provides a complete set of features for building microservices: multiple transport protocols (TCP, HTTP, QUIC, KCP, RDMA, io_uring), multiple serialization formats (JSON, Protobuf, MessagePack, Thrift, raw bytes), service discovery (peer-to-peer, DNS, mDNS, Redis, etcd, consul, zookeeper), load balancing (random, round-robin, weighted, consistent hashing, geographic, ICMP-based), fault tolerance (failover, failfast, failtry, failbackup), compression (gzip, snappy), and a plugin system for extensibility. The architecture separates client and server concerns with clear interfaces: RPCClient for low-level communication, XClient for high-level service governance with discovery and load balancing, and Server for hosting services with reflection-based registration. The codebase demonstrates strong engineering practices with extensive use of interfaces, dependency injection, and object pooling for performance. It includes a comprehensive test suite and benchmarks. Key components include a binary protocol with buffer pooling for zero-copy encoding, a plugin container with multiple extension points (pre/post call, connection handling, etc.), a circuit breaker implementation with sliding window, and various selectors for load balancing. The project has been actively maintained with recent refactoring to split large files into focused modules and add method-level service registration. The code is well-structured with clear separation of concerns, though some parts (like the unsafe pointer conversions in util/converter.go) show pragmatic trade-offs for performance.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 3 reusable components found
cocopon/tweakpane ★ 4586 130 APPLICATION

Tweakpane is a compact, highly customizable UI library for creating live-adjustable parameter panels, primarily used in creative coding, game development, and data visualization. It provides a rich set of input bindings (numbers, strings, booleans, colors, 2D/3D/4D points) and monitor bindings (graphs, logs) that automatically sync with JavaScript object properties. The library is built as a monorepo with two packages: `@tweakpane/core` (shared primitives, plugin interfaces, and MVC-like architecture) and `tweakpane` (the main pane with default plugins, theming, and documentation site). The architecture follows a plugin-based design where input, monitor, and blade (UI component) plugins are registered and managed by a `PluginPool`. Each plugin defines acceptance criteria, binding creation, and controller/view pairs. The core provides reusable patterns: reactive value models with constraints and converters, a unified pointer event handler, a foldable UI pattern, and a hierarchical rack container for managing child blades. Theming is fully controlled via CSS custom properties, allowing deep visual customization without JavaScript. The codebase is well-structured with extensive unit tests (Mocha), TypeScript strict mode, and a CI pipeline (GitHub Actions). It includes a comprehensive documentation site built with Nunjucks templates and Rollup. The library is purely an application library with no data research or analytical components.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 5 reusable components found
WorksApplications/Sudachi ★ 1007 79 APPLICATION

Sudachi is a professional-grade Japanese morphological analyzer implemented as a Java library and CLI tool. It performs tokenization, part-of-speech tagging, and text normalization using a plugin-based architecture with configurable input rewriting, out-of-vocabulary (OOV) handling, and lattice path rewriting. The system relies on precompiled binary dictionaries (system and user) built from CSV lexicons, and supports three segmentation modes (A, B, C) to balance between shortest and longest tokenization for different use cases. Internally, Sudachi uses a double-array trie for fast common-prefix search, memory-mapped file I/O for efficient dictionary loading, and a Viterbi-style lattice search for optimal path selection. The project includes a command-line interface, a comprehensive test suite, JMH benchmarks, and CI/CD pipelines. It is designed for embedding in larger applications (e.g., Elasticsearch via a separate plugin) and has been used in production at Works Applications.

RATING: 9.0/10 MAINT: maintained DRIFT: low
▸ 4 reusable components found
webpack/enhanced-resolve ★ 983 206 APPLICATION

This is a highly configurable module resolution library used as the core resolver inside webpack. It implements a plugin pipeline based on the tapable hook system, allowing third-party extensions. The library supports standard Node.js resolution (relative, absolute, node_modules), package.json exports/imports fields, TypeScript tsconfig path mapping, aliases, symlinks, PnP (Yarn Berry), and browser field resolution. The codebase is meticulously optimized for performance with custom caching layers (CachedInputFileSystem, per-field WeakMap caches, char-code-based path classification) and includes extensive benchmarks tracked by CodSpeed. It has broad runtime support including Node.js, Deno, Bun, and browser environments via shims. The architecture is modular with each resolution step implemented as a separate plugin, making it both extensible and testable.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
KhronosGroup/OpenCL-ICD-Loader ★ 304 174 APPLICATION

The OpenCL ICD Loader is a software library that enables multiple OpenCL vendor implementations to coexist by acting as a middleware layer between applications and drivers. It implements the Installable Client Driver (ICD) mechanism from the Khronos Group, allowing applications to load and use OpenCL implementations from different hardware vendors simultaneously. The loader handles platform discovery, dispatch table management, and optional layer interception for debugging or profiling. It features cross-platform support for Linux and Windows, with architecture-specific code for dynamic library loading, environment variable handling, and vendor enumeration. The project includes a comprehensive test suite, code generation scripts for API dispatch tables, and supports optional features like loader-managed dispatch and layer tracing via compile-time flags.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 2 reusable components found
deepfakes/faceswap ★ 57565 13459 APPLICATION

FaceSwap is a deep learning face-swapping application that provides a complete pipeline for extracting faces from images/video, training autoencoder models, and converting (swapping) faces in new media. It features a modular plugin architecture for detectors, aligners, maskers, identity extractors, training models, and converters, supporting multiple GPU backends (NVIDIA, AMD, Apple Silicon, CPU). The application includes both a command-line interface and a full tkinter-based GUI for managing projects, editing alignments manually, previewing conversions, and analyzing training progress. It also provides auxiliary tools for sorting faces, generating masks, manipulating alignments, and processing video via ffmpeg. The codebase is heavily research-oriented with custom loss functions (LPIPS, LDR-FLIP, GMSD, etc.), custom neural network layers (PixelShuffler, AdaIN), and advanced training features (learning rate finder, mixed precision, distributed training). While primarily an application, it contains significant data/research components in its model architectures and loss implementations.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
x64dbg/x64dbg ★ 49170 2815 APPLICATION

x64dbg is an open-source binary debugger for Windows targeting malware analysis and reverse engineering. The architecture is a three-layer system: a GUI layer (Qt-based Windows application), a bridge layer (C API for communication), and a debugger core layer (TitanEngine/GleeBug/StaticEngine backends). The debugger supports x86 and x64 processes with comprehensive features including conditional breakpoints, memory analysis, symbol handling, and an extensive plugin SDK. The codebase demonstrates strong engineering in several areas. The analysis engine implements multiple analysis passes (linear, recursive, control flow, xrefs) with a clean pass-based architecture. The command system uses a flexible registration pattern with consistent error handling. The bridge layer provides a well-defined C API surface for plugins with careful attention to thread safety and marshaling between GUI and debugger threads. Recent development shows active work on Linux support (ElfBug debugger), cross-platform tools (hex viewer, minidump analyzer, remote table), and a comprehensive test framework with headless testing infrastructure. The test system uses convention-based test discovery with script-driven scenarios and plugin-based assertions. Technical debt includes some outdated documentation (docs reference Python 2.7 for CHM generation), mixed use of Qt versions (5.12+ required but some paths reference older configurations), and the inherent complexity of maintaining both Windows debugger and cross-platform analysis tools in one repository. The dependency on precompiled libraries (TitanEngine, Zydis, XEDParse) creates build complexity but is managed through CMake.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 8 reusable components found
phaserjs/phaser ★ 40384 7163 APPLICATION

Phaser is a client-side 2D game engine/framework distributed as a JavaScript library. In production it provides the runtime systems game developers assemble into browser games: scene lifecycle management, game-object factories and component mixins, display lists, input processing (pointer/touch/keyboard/gamepad), asset loading/caching, tweens, animation state machines, tilemap parsing/rendering, Arcade and Matter.js physics, audio, and a dual Canvas/WebGL rendering pipeline. The engine is event-driven: core, scene, camera, physics, loader, and sound subsystems communicate through named event constants, and game objects expose component-based behavior via mixed-in plain objects. Entry points include src/phaser.js (UMD bundle), src/phaser-esm.js (ESM), src/phaser-arcade-physics.js, and src/phaser-no-physics.js build variants; package.json exposes the main library and TypeScript declarations. Architecture is modular CommonJS with heavy JSDoc. The main data flow: developer configures Phaser.Game; Config boots core systems, SceneManager instantiates scenes and injects plugins; scenes create GameObjects through factory/creator registries; game objects are added to DisplayList/UpdateList; each frame TimeStep emits STEP, camera systems transform, renderers submit object batches to WebGL drawing contexts or Canvas contexts; loader uses XHR/fetch in browser to populate texture/audio/cache managers. Runtime dependency is minimal (eventemitter3); WebGL, Canvas, WebAudio, and device APIs are browser-native; Matter.js is vendored inside src/physics/matter-js. There is no data/research content; type definitions and constants are not analytical models. The codebase is large but well-modularized: many small single-purpose utility modules (math, geometry, color, arrays) are safely reusable outside Phaser. The most notable reusable pieces are polygon triangulation, the R-tree spatial index, and seeded RNG. Maintenance is active; however the repository carries legacy API vestiges (e.g. deprecated aliases, vendor-prefixed browser checks, mixed Jasmine/Vitest test conventions) and a renderer transition from older Canvas batching to the newer WebGL render-node pipeline, so technical drift is moderate despite recent commits.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
nicolargo/glances ★ 33746 1821 APPLICATION

Glances is a cross-platform, real-time system monitoring tool written in Python. It collects system metrics (CPU, memory, disk, network, processes, sensors, containers, GPU, NPU, etc.) via the `psutil` library and optional hardware-specific backends, and renders them through multiple interfaces: a curses-based terminal UI, a web UI (Vue.js + FastAPI REST API), a pure JSON/CSV stdout mode, a Model Context Protocol (MCP) server for AI assistant integration, and exports to 20+ time-series databases and message brokers (InfluxDB, Prometheus, Kafka, Elasticsearch, etc.). The architecture is modular and plugin-based: each metric domain is a self-contained plugin inheriting from a common base class, and each export target is a separate module. Glances can run standalone (local monitoring), in client/server mode (XML-RPC or REST), or as a central browser that discovers and displays multiple Glances instances via Zeroconf. The project is production-grade, with extensive test coverage, CI/CD across multiple OSes, Docker images, and active security maintenance. Its primary use case is real-time monitoring of single or distributed systems, with optional historical data export for long-term analysis.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
greensock/GSAP ★ 29044 2246 APPLICATION

GSAP (GreenSock Animation Platform) is a mature, high-performance JavaScript animation library designed for creating complex animations in web applications. It features a plugin-based architecture where the core tweening engine is extended by plugins for specific animation types such as CSS, scroll-based motions, SVG morphing, and physics effects. The library is framework-agnostic and supports animation of CSS properties, SVG attributes, canvas objects, and JavaScript objects. The source code reveals a well-structured codebase with clear separation of concerns. Core animation logic resides in gsap-core.js, while utilities (matrix operations, string handling, path parsing, velocity tracking) are isolated in the utils directory. Plugins follow a consistent registration pattern and demonstrate attention to cross-browser compatibility, performance optimization (including requestAnimationFrame usage and tree shaking protection), and modular design. The library is actively maintained with recent updates and extensive TypeScript support.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
meetecho/janus-gateway ★ 9182 2630 APPLICATION

Janus is a general-purpose WebRTC media server and gateway written in C. It provides a modular architecture with a core daemon that dynamically loads plugins for various use cases (video conferencing, audio bridging, streaming, SIP, etc.), transports (HTTP, WebSockets, MQTT, RabbitMQ, Unix sockets), and event handlers. The server handles ICE/DTLS/SRTP for WebRTC peer connections, relays RTP/RTCP media between participants, and supports advanced features like simulcast, SVC, recording, and post-processing. A JavaScript client library (janus.js) is provided for browser integration. The system is production-grade, actively maintained, and widely deployed.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
smartcontractkit/chainlink ★ 8246 1990 APPLICATION

Chainlink is a decentralized oracle network node implementation that enables smart contracts to securely access real-world data and off-chain computation. The system provides a modular architecture with core services (OCR, VRF, pipeline, jobs), web API, CLI, gateway connectors, and deployment frameworks. Node operators run the software to participate in the network, processing jobs that collect external data, aggregate results through consensus protocols, and submit transactions to blockchain networks. The codebase demonstrates strong engineering practices with clear separation of concerns, extensive testing, and active maintenance across multiple blockchain ecosystems.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
dbeaver/cloudbeaver ★ 5197 573 APPLICATION

CloudBeaver is a web-based database management tool with a client-server architecture. The frontend is built with React/TypeScript using MobX for state management, while the backend is a Java-based OSGi/Eclipse plugin architecture using Jetty and servlets. Communication between frontend and backend occurs via GraphQL. The system features extensive plugin architecture on both frontend and backend, allowing for extensibility in database connections, SQL editing, data visualization, administration, and AI-assisted features. It supports connections to numerous database types via JDBC and includes comprehensive localization, theming, and settings management.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
clidey/whodb ★ 5034 241 APPLICATION

WhoDB is a self-hosted, multi-database workspace and management platform by Clidey (Apache-2.0). The production system is a Go backend (chi router, gqlgen GraphQL API, BAML-generated LLM clients) served alongside a React/TypeScript SPA (Vite, Apollo, Redux), plus a Cobra/Bubbletea CLI/TUI, a Wails desktop app, an MCP server exposing database tools to AI agents, and multi-language SDKs (Python, TypeScript, Go, Rust, Java) targeting the hosted platform API. It lets users browse/edit/query rows, inspect schemas and relationships, run arbitrary SQL/NoSQL commands, import/export CSV and Excel, generate mock data, and chat with an AI assistant that produces SQL, explains queries, and executes verified operations. Supported engines include PostgreSQL, MySQL/MariaDB, SQLite, CockroachDB, TiDB, DuckDB, ClickHouse, QuestDB, YugabyteDB, MongoDB, Redis/Valkey/Dragonfly, Elasticsearch/OpenSearch, and Memcached, with automatic discovery of cloud-hosted instances on AWS, Azure, and GCP. Architecturally the backend is a database-plugin registry: every engine implements a PluginFunctions interface, mostly by embedding a shared GORM-based SQL plugin and overriding dialect specifics (constraint parsing, batch operations, SQL builders); non-relational stores use native adapters. Security is treated seriously: a SQL guard classifies commands as read-only vs mutating across SQL/MongoDB/Redis, egress validation blocks SSRF targets including cloud-metadata IPs, sessions use hashed cookie tokens with CSRF double-submit, and audit logging classifies events into telemetry/access/compliance. The frontend uses registry patterns (component-registry, route-registry, sidebar-registry) to keep CE/EE edition differences declarative. The most reusable pieces are security components (sqlguard read-only classification, egress SSRF filter), the mock-data generator's column-pattern matching, and the schema-diff engine — all self-contained enough to extract into other projects. The codebase is actively maintained with extensive CI/CD (Docker, npm, Snap, Windows Store, macOS releases), per-database e2e suites, and accessibility checks. Weaknesses are inherent complexity: five SDKs must stay synchronized with a generated manifest, BAML generation introduces platform-specific build stubs, cloud-provider connectivity logic is duplicated across AWS/GCP/Azure, and the broad plugin interface gives new database adapters a large implementation surface.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 5 reusable components found
grid-js/gridjs ★ 4688 256 APPLICATION

Grid.js is a TypeScript table library that renders interactive HTML tables with features like sorting, searching, pagination, and row/cell selection. It follows a modular architecture with clear separation of concerns: core grid functionality, configuration system, data pipeline for processing data through stages (extraction, transformation, filtering, sorting, limiting), storage abstraction for client/server data sources, UI components built with Preact, and a plugin system for extensibility. Data flows from user-provided sources through storage adapters, then through pipeline processors that handle server initiation, data extraction, format transformation, filtering, sorting, and pagination before reaching the view layer for rendering. User interactions trigger pipeline reprocessing to update the display.

RATING: 8.9/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
pcccccc/AngelLive ★ 1966 99 APPLICATION

AngelLive is a cross-platform (iOS, macOS, tvOS) live streaming viewer that aggregates content from multiple Chinese streaming platforms (Bilibili, etc.) via a dynamic plugin system. The application is built entirely in Swift, using SwiftUI for the UI layer with UIKit bridging where needed. Its core architecture revolves around a shared library, AngelLiveCore, which provides a plugin runtime for loading JavaScript-based platform adapters, a custom danmaku (bullet-chat) rendering engine, unified playback recovery with a state machine, and iCloud-based favorite and credential synchronization. The macOS and tvOS targets share the same core but have platform-specific UI components and input handling (e.g., tvOS focus-driven navigation, macOS menu bar and window management). The system is characterized by a high degree of modularity and concurrency: plugins are isolated sandboxed JavaScript runtimes, the danmaku engine uses asynchronous layer rendering and a dedicated shoot scheduler to handle burst traffic, and the playback recovery coordinator implements a tunable ladder of fallback actions (reload, switch CDN, refresh play args) to handle stream stalls. The favorite syncing engine uses `CKSyncEngine` with actor-based concurrency and circuit breakers to avoid retry storms. The codebase also includes a comprehensive test suite covering plugin operation, playback recovery, danmaku connection reconnection, and favorite refresh policies. Key entry points for the iOS app are `AngelLiveApp.swift` and `ContentView.swift`, which manage navigation and deep link handling. The macOS app uses `TabView` with sidebar navigation, and the tvOS app uses a SwiftUI-based sidebar and focusable grid. The developer console (`PluginConsoleView`) provides real-time logging and filtering of plugin calls, which is useful for debugging and extending the platform support. The app supports DLNA casting via SSDP discovery and a local HTTP proxy, and it integrates with AirPlay and Picture-in-Picture. Overall, AngelLive is a well-engineered, production-quality application with a clear separation of concerns, strong test coverage, and a plugin architecture that allows it to adapt to new platforms without modifying the core app. Its design patterns—such as the actor-based credential manager, the state machine for playback recovery, and the modular danmaku engine—are candidates for extraction into other projects.

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