thehardwarestore.ai

where AI agents shop for the right tools

── 99628 repos indexed ── | filtered by tag: plugin-architecture
microsoft/vstest ★ 966 359 APPLICATION

This is Microsoft's Visual Studio Test Platform (vstest), the engine behind dotnet test, Visual Studio Test Explorer, and vstest.console. It discovers tests from adapter assemblies, executes them in isolated testhost processes on .NET Framework and .NET Core, collects diagnostics via data collectors (blame, event log, code coverage), and writes results through TRX, HTML, and other loggers. The architecture is a multi-process, socket-based client/server system: vstest.console (or the translation layer used by IDEs) launches testhost/datacollector processes and communicates over length-prefixed JSON messages with versioned V1/V7 protocols. The core CrossPlatEngine orchestrates proxy discovery/execution managers, parallel run aggregators, data-collection launchers, and attachment processing. Key entry points are src/vstest.console/Program.cs, src/testhost/Program.cs, src/datacollector/DataCollectorMain.cs, and the Microsoft.TestPlatform.VsTestConsole.TranslationLayer API. Microsoft.TestPlatform.ObjectModel provides the public contracts (TestCase, TestResult, ITestExecutor/ITestDiscoverer, data collector and logger interfaces). Microsoft.TestPlatform.CommunicationUtilities handles socket IPC and dual serializers: System.Text.Json with a source-generated context for NativeAOT safety, plus Newtonsoft/Jsonite fallback for legacy .NET Framework paths. Microsoft.TestPlatform.Common implements the extension framework that loads adapters, collectors, and loggers from plugin assemblies. Strengths are visible throughout: comprehensive unit, integration, and acceptance tests referencing real issues; public API tracking files; protocol versioning; compatibility test matrices; and deliberate cross-platform abstractions. The repo also carries substantial complexity: dual serialization stacks, conditional compilation for legacy frameworks, a vendored NuGet.Frameworks clone, and many InternalsVisibleTo bridges. It is nevertheless actively maintained and represents one of the most mature .NET test execution infrastructures available.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
grblHAL/core ★ 511 150 APPLICATION

grblHAL/core is an embedded firmware for real-time CNC motion control, derived from the original grbl 1.1f project. It interprets G-code (RS274/NGC) and executes motion planning with acceleration/jerk profiles, driving stepper motors via a hardware abstraction layer (HAL) that supports many 32-bit MCUs (ESP32, STM32, RP2040, i.MX RT, etc.). The architecture is modular: a plugin system allows adding spindles, I/O expanders, kinematics (CoreXY, delta, polar, wall plotter), networking, and custom M-codes. Key subsystems include a G-code parser, motion planner with look-ahead, stepper ISR with Bresenham and AMASS, state machine, settings registry with NVS persistence, virtual file system, and cooperative task scheduler. Communication streams (serial, TCP, WebSocket, Modbus) are multiplexed. The codebase is highly optimized for real-time constraints, uses extensive conditional compilation for configurability, and provides reusable patterns such as function-pointer-based HAL, callback chaining, and abstracted I/O. While some internal coupling exists, many modules (crc, regex, utf8, string utilities, PID, expression evaluator, task scheduler) are self-contained and extractable.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 8 reusable components found
kcsujeet/ilamy-calendar ★ 346 52 APPLICATION

This repository is a production-grade React calendar component library (`@ilamy/calendar`) designed as a lightweight (~13 KB gzipped) replacement for FullCalendar. It provides month, week, day, year, and agenda views with drag-and-drop, resource scheduling, RFC 5545 recurring events, iCal export, and internationalization. The core ships no CSS and relies on Tailwind CSS v4 with shadcn/ui tokens, making it themeable and tree-shakeable. Architecturally, the library follows a plugin-first pattern: the core implements a pluggable kernel (`IlamyPlugin` interface) that accepts opt-in plugins for recurrence, agenda, and drag-to-create. Each plugin contributes views, event transformations, mutation scopes, and UI slots through a runtime composer. The state management uses a single `CalendarProvider` context that composes four engine slices (config, navigation, data, interaction). The view system is built on two grid primitives (vertical-grid for time-based layouts, horizontal-grid for date-based layouts) that are shared across all views and test harnesses. The codebase demonstrates strong engineering discipline: a huge unit test suite (995+ tests) with regression pinning against issue numbers, deterministic Playwright E2E tests, a CI pipeline with lint/build/type-check/test gates, and agent-driven code review skills. However, there is some duplication of UI primitives between packages, and the dependency on a custom dayjs wrapper for timezone handling introduces fragility. The library is actively maintained with frequent releases and detailed changelogs.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 6 reusable components found
screenshotbot/screenshotbot-oss ★ 303 15 APPLICATION

Screenshotbot is a comprehensive screenshot testing and visual regression tracking service built with Common Lisp. It provides a self-hostable platform that integrates with CI/CD systems to capture, compare, and report on screenshots from mobile and web tests. The system features a multi-tier architecture with a Lisp backend (using Hunchentoot), Bootstrap-based frontend, custom object persistence layer, and extensible plugin architecture for integrations with version control systems (GitHub, GitLab, etc.) and communication platforms (Slack, Email). Key components include SDKs for Android/Firebase integration, a Gradle plugin for Android builds, and a CLI tool for CI workflow integration. The platform includes user authentication, team management, role-based access control, audit logging, and a dashboard for visualizing test results.

RATING: 8.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
caol64/omni-article-markdown ★ 211 23 APPLICATION

omni-article-markdown is a CLI tool and library that converts web articles from various sources into clean Markdown format. It employs a modular pipeline architecture: Reader fetches HTML (using requests or Playwright for JavaScript-heavy sites), Extractor isolates article content by removing boilerplate and ads, and Parser converts the cleaned HTML to Markdown with support for code blocks, tables, math equations, and GitHub Gists. The system uses a plugin-based architecture where site-specific readers and extractors are automatically discovered and loaded, allowing easy extension for new websites. Key features include SSL verification control, cookie persistence for sites requiring authentication (like Zhihu), and flexible output options (stdout or file saving).

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
maxisoft/ASFFreeGames ★ 207 8 APPLICATION

This repository contains ASFFreeGames, a plugin for ArchiSteamFarm (ASF) that automatically collects free Steam games from Reddit and Redlib sources. The plugin monitors the ASFinfo Reddit user for posts containing "!addlicense asf" commands, extracts game identifiers from these posts, and uses ASF's addlicense command to claim those games for all logged-in bots. It operates on a configurable schedule (default 30 minutes) and can also be triggered manually via the "freegames" command. The architecture follows a plugin pattern with clear separation of concerns: core plugin logic handles ASF integration and scheduling, command processing manages user interactions, strategy objects encapsulate different data source approaches (Reddit vs Redlib), and specialized parsers handle the extraction of game information from HTML/JSON responses. The plugin maintains a persistent cache of already-claimed games to prevent duplicates and supports configuration options for filtering results (e.g., skipping free-to-play games or DLC). Notably, the project contains several high-quality, reusable utility components in the Maxisoft.Utils namespace. These include BitSpan (a high-performance bit array using span<long>), SpanDict (a dictionary implementation using spans with linear probing), OrderedDictionary (a dictionary that preserves insertion order), and RandomUtils (a Gaussian random number generator using the Box-Muller transform). These utilities demonstrate advanced .NET span usage and algorithmic implementation skills, with minimal dependencies making them suitable for extraction to other projects. The project is actively maintained with recent commits, comprehensive CI/CD workflows, and targets the latest .NET 9.0 framework. Dependencies appear current, and the codebase shows no significant technical debt or use of deprecated APIs. The plugin properly handles edge cases like rate limiting, network failures, and invalid responses while providing configurable logging options.

RATING: 8.9/10 MAINT: active DRIFT: low
▸ 4 reusable components found
moby/moby ★ 72133 19235 APPLICATION

The Moby project is the upstream open-source project for Docker Engine, implementing a container platform with daemon/client architecture. It provides container lifecycle management, image handling, networking, storage, and orchestration capabilities through a highly modular design with swappable components for storage drivers, network drivers, logging drivers, and authorization plugins. The codebase demonstrates strong engineering practices including context propagation, consistent error handling, plugin architecture, and functional options patterns. The system uses containerd as the underlying container runtime and exposes both HTTP and gRPC APIs for client interaction.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
WerWolv/ImHex ★ 54909 2468 APPLICATION

ImHex is a cross-platform hex editor and binary analysis tool designed for reverse engineers, programmers, and digital forensics. It provides a rich GUI built on Dear ImGui and GLFW, with a modular plugin architecture that allows extending functionality through dynamically loaded plugins. The core library (libimhex) implements a provider abstraction for various data sources (files, disks, process memory, GDB, SSH, UDP, etc.), an event-driven communication system, a content registry for registering views, tools, settings, and data inspectors, and a pattern language engine for declarative binary parsing. The application includes built-in plugins for hex editing, data inspection, disassembly (Capstone), diffing, YARA rule matching, hashing, decompression, visualizations (3D, plots, images), scripting (C and .NET), and a Model Context Protocol (MCP) server for AI-assisted analysis. It supports undo/redo, bookmarks, patches, projects, themes, layouts, achievements, tutorials, and a command palette. The codebase is well-structured with clear separation between core library, plugins, and platform-specific code, though some components are tightly coupled to ImGui internals and the custom pattern language.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
bytedance/xgplayer ★ 9307 943 APPLICATION

xgplayer is a production-grade, plugin-based HTML5 video player library maintained by ByteDance. It provides a core player package (`packages/xgplayer`) with UI controls, event/hook systems, device sniffing, i18n, and a rich plugin registry, plus separate npm packages for streaming protocols including HLS, FLV, DASH, MP4, and MPEG-TS transmuxing. The architecture is a monorepo of coordinated packages: streaming plugins built on shared networking, MSE, buffer, and error utilities; a custom type-level transmuxer that demuxes/remuxes FLV/TS/MP4 into fMP4 for Media Source Extensions; and extension packages for Chromecast/AirPlay, Google IMA ads, subtitles, and music visualization. In production this library plays both VOD and live streams in the browser, handles adaptive bitrate switching, DRM, low-latency manifest polling, and provides full control UI for desktop and mobile.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
pentaho/pentaho-kettle ★ 8404 3575 APPLICATION

Pentaho Data Integration (PDI/Kettle) is a mature, modular ETL platform for data integration. It provides a graphical designer (Spoon), command-line tools (Pan, Kitchen), and a lightweight web server (Carte) for creating, executing, and managing data transformation and workflow processes. The system uses a step-based architecture for transformations and job entries for workflow orchestration, with extensive plugin support for extensibility. It includes robust database abstraction, Virtual File System capabilities, and a sophisticated logging framework. The application is actively maintained with recent commits and demonstrates strong engineering practices.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
chaijs/chai ★ 8266 729 APPLICATION

Chai is a mature, test-framework-agnostic assertion library for Node.js and browsers. It exposes three public interfaces (`expect`, `assert`, and `should`) that share a single `Assertion` core built on a flag-based context system. Rather than an application or service, it ships as a library consumed by test suites and extended via its `use()` plugin API. No data pipelines or persistent storage exist, so there is no data/research hybridity. Architecturally, the library is split into `lib/chai.js` as the public entry point, `lib/chai/assertion.js` as the core class, `lib/chai/core/assertions.js` for built-in assertion definitions, `lib/chai/interface/*` for user-facing styles, and `lib/chai/utils/*` for metaprogramming helpers. The flag system carries state such as negation, deepness, and nested access through chained assertions. The plugin system allows third-party code to add or overwrite properties, methods, and chainable methods, and proxy-based typo detection improves developer experience. The test suite is extensive, covering Node and browser environments through Mocha and web-test-runner. Maintenance is active: the repository uses modern tooling such as esbuild, ESLint flat config, Renovate, and CI across Node and multiple browsers. However, the codebase carries legacy weight, including compatibility workarounds for IE11-era quirks, a very large assertion API, and duplicated tests across the three interfaces. Some deprecated configuration properties (`Assertion.includeStack` and `Assertion.showDiff`) still emit migration warnings. Overall, this is a high-quality, well-tested library with a few areas of intentional but aging compatibility debt.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
pdfme/pdfme ★ 4898 528 APPLICATION

pdfme is a TypeScript monorepo for template-driven PDF generation and manipulation. In production it does three things: (1) generates PDF bytes from a JSON template plus input data using a plugin-based schema renderer (packages/generator + packages/schemas), (2) ships React widgets — Designer, Form, Viewer — for visually editing templates, filling forms, and previewing output (packages/ui), and (3) exposes a CLI (packages/cli) for headless generation, validation, diagnostics, and PDF conversion, plus a page-manipulation library (packages/manipulator) and an experimental JSX authoring layer (packages/jsx). The low-level PDF engine is a heavily extended, vendored fork of pdf-lib (packages/pdf-lib) with custom AcroForm appearance providers, SVG drawing, and font subsetting; fontkit provides glyph metrics, bwip-js renders barcodes, and @napi-rs/canvas powers Node-side raster conversion. A playground web app and Docusaurus documentation site are included as consumers. The core data flow is: Template + inputs are validated by shared Zod schemas (packages/common), then each schema plugin's pdfRender implementation draws into a pdf-lib document while a dynamic-layout engine computes split ranges, overflow expansion, and table/list pagination across pages. The same Plugin contract (pdf/ui/propPanel/icon) drives both PDF rendering and the WYSIWYG interface, so custom field types register once and work everywhere. Notable engineering: a sandboxed expression evaluator with prototype-pollution and XSS guards (common/expression.ts), SSRF-safe URL fetching with IPv4/IPv6/mapped-address checks (common/helper.ts), a from-scratch UAX #14 line-breaking engine with Japanese kinsoku handling (schemas/text/lineBreak.ts), and a safe inline-Markdown-to-rich-text parser. Weaknesses: the vendored pdf-lib fork contains dormant/commented API stubs and diverges from upstream, image-snapshot tests are brittle across rendering environments, several modules use module-level mutable caches, and some package version pins are aspirational (e.g., TypeScript ^7 in website). Repo-wide version coordination relies on internal packages pinned at 0.0.0 with * workspace deps. Overall the codebase is professional, well-tested (unit, integration, e2e, visual snapshots, security regression tests), actively maintained with CI publishing, and is an application — not a data/research project.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
GlitchEnzo/NuGetForUnity ★ 4562 393 APPLICATION

NuGetForUnity is a NuGet client built specifically for the Unity Editor, enabling package management directly within Unity projects. It provides an interactive editor window for browsing, installing, updating, and uninstalling NuGet packages, as well as a headless CLI tool for CI/CD pipelines. The system integrates with Unity's asset pipeline to configure imported DLLs (analyzers, native runtimes, player-only assemblies) and supports both NuGet V2 (OData) and V3 (JSON) API protocols. It also offers a plugin API for third-party extensibility through custom buttons, file handlers, and uninstall hooks. The architecture is modular, with clear separation between configuration, models, package sources, UI, and plugin support, all within the Unity Editor's asmdef framework.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 3 reusable components found
smapiot/piral ★ 1926 136 APPLICATION

Piral is a production-grade micro-frontend framework that enables building modular single-page applications (SPAs) with independently developed, runtime-integrated modules called pilets. The repository is a monorepo containing the core framework (piral-core, piral-base, piral), a CLI toolchain (piral-cli, piral-cli-webpack5), over 20 feature plugins (authentication, UI components, state management, search, notifications, etc.), and 15+ framework converters (React, Vue, Angular, Svelte, Blazor, etc.). The core architecture provides a shell application with pilet loading, extension slots, event system, shared dependency management via import maps, and state management using Zustand. The CLI supports scaffolding, building, debugging, validation, and publishing of both pilets and Piral instances. The codebase demonstrates strong engineering practices with extensive TypeScript, unit tests (Vitest), and a consistent plugin/converter pattern. Some technical drift exists in legacy pilet specifications and multiple router version adapters, but the project remains actively maintained.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
GameFoundry/B3DFramework ★ 1923 205 APPLICATION

B3DFramework (namespace `b3d`, legacy `bsf` path prefixes) is a cross-platform C++17 game/application engine framework. Production code reveals a complete runtime: a scene/component model with ECS fragments, dirty-flag transform hierarchy propagation, prefab/scene serialization, async resource handles, and a plugin architecture with GPU backends (Vulkan, D3D12, Metal, Null), physics (PhysX), audio (FMOD, OpenAL), and a default renderer (RenderBeast). The engine implements its own shader language (BSL) with a compiling pipeline, a custom RTTI/reflection system with versioned binary serialization and delta compression, and a Mono-based C# scripting layer generated from C++ types via a codegen toolchain.

RATING: 8.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
AlistGo/alist ★ 50253 7933 APPLICATION

AList is a self-hosted file listing and sharing gateway written in Go. In production it aggregates over 100 distinct storage backends — local disk, Aliyun Drive, OneDrive, Google Drive, S3, Baidu, PikPak, Thunder, WebDAV mounts, FTP/SFTP servers, and more — behind a unified virtual file tree, then exposes that tree simultaneously through a web UI + REST API, WebDAV, an S3-compatible object storage endpoint, FTP, SFTP, and an MCP (Model Context Protocol) tool server. It is a monolithic Go application (Gin + GORM) deployed as a single binary or Docker container, with a rich feature surface: role/permission-based multi-user access with path-scoped grants, password-protected time-limited shares with burn-after-read and download tracking, pluggable search backends (Meilisearch, Bleve, database full-text, no-index), offline downloads via aria2/qBittorrent/Transmission plus cloud-native tools, archive extraction (zip/7z/rar/iso9660), device session limits, rate limiting, SSO/LDAP/WebAuthn auth, and an FRP reverse-proxy client for NAT traversal.

RATING: 8.7/10 MAINT: active DRIFT: medium
▸ 6 reusable components found
TechnitiumSoftware/DnsServer ★ 10076 794 APPLICATION

Technitium DNS Server is a full-featured, cross-platform DNS server written in C# (.NET). It serves both authoritative and recursive DNS with support for DNSSEC, DNS-over-TLS/HTTPS/QUIC, EDNS Client Subnet, caching, blocking, and a built-in DHCP server. The server includes a web-based management console with REST API, a Windows system tray app, and a plugin system that allows extending functionality via DNS apps (e.g., geo-location, failover, query logging to SQL databases, block pages). The architecture uses a custom domain tree data structure for efficient lookups, a zone management hierarchy (primary, secondary, stub, forwarder, catalog), and a channel-based producer-consumer pattern for logging and statistics. The codebase is actively maintained with frequent releases and security fixes. While the overall design is solid and modular, some files are large and there is reliance on binary serialization with versioning that adds complexity.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mhogomchungu/media-downloader ★ 5066 342 APPLICATION

Media Downloader is a cross-platform Qt/C++ desktop application that serves as a graphical frontend for multiple command-line download tools (yt-dlp, gallery-dl, aria2c, wget, etc.). It provides a tabbed interface for single URL downloads, batch processing, playlist and subscription management, and a library browser for managing downloaded files. The application manages the lifecycle of external engine executables, including automatic download and updates, and supports proxy configuration, themes, translations (17+ languages), system tray integration, and extensive download options (format selection, subtitles, chapters, etc.). The architecture follows a plugin-like pattern where each backend engine is wrapped in a polymorphic class derived from a base engine, with JSON configuration files defining executables and options. The code shows strong engineering discipline with clear separation of utilities, engine wrappers, and UI components, though some files (e.g., batchdownloader.cpp) are very large.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 2 reusable components found
duckduckgo/Android ★ 4863 1418 APPLICATION

The DuckDuckGo Android repository is a privacy-focused mobile browser application featuring tracker blocking, ad blocking, password management, VPN protection, and AI chat capabilities. It employs a modular architecture with feature-specific modules (app, browser, autofill, sync, privacy-*, network-protection, etc.) built using modern Android Jetpack components. The codebase utilizes Dependency Injection via Dagger/Hilt with Anvil annotations for code generation, follows MVVM patterns with ViewModels and LiveData/Flow, and implements a robust plugin system via @ContributesPluginPoint annotations for extensibility. Feature flags control gradual rollouts and A/B testing, while Room databases handle local persistence for settings, credentials, and usage statistics. The application emphasizes user privacy through encrypted storage, tracker detection networks, and transparent privacy dashboards.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 2 reusable components found
KDAB/GammaRay ★ 1912 328 APPLICATION

GammaRay is a mature runtime introspection and manipulation tool for Qt applications, not a data or research project. In production it injects a probe into a target Qt process via a launcher that supports preload, GDB/LLDB, and Windows DLL injection, then connects a Qt Widgets client either in-process or over TCP. The probe tracks QObjects, exposes their properties, signals/slots, object trees, widget hierarchies, QML scene graphs, model/view contents, state machines, network activity, and even records and replays QPainter command streams. The core machinery uses a custom client-server protocol built around Endpoint, ObjectBroker, remote models, and network-synchronized selection models, with lazy-loading proxy models on the client side. The architecture is modular: a shared protocol layer in common/, a server-side core with property adaptors, tool managers, and remote model servers, a client UI layer, and dozens of plugin-based inspectors. Each plugin follows a consistent pattern - a server-side tool, a client-side widget, and interface classes registered through the ObjectBroker. The codebase shows strong engineering discipline: consistent abstractions, extensive Qt Test based tests, CI workflows for multiple Qt versions and sanitizers, and careful handling of cross-process model synchronization. The main technical risk is heavy use of Qt private APIs (e.g., QPaintBuffer, QQuickItemPrivate, QObjectPrivate) and vendored third-party code, which creates fragility across Qt releases and platform-specific maintenance overhead. Overall this is a well-crafted, complex desktop application. It is not a general-purpose library; most of its value for reuse lies in its plugin patterns and a few isolated Qt utility components. The generic, low-coupling pieces like PropertyBinder, SearchLineController, DeferredTreeView, and UIStateManager can be lifted into other Qt projects with minimal modification.

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