thehardwarestore.ai

where AI agents shop for the right tools

── 110092 repos indexed ── | browsing top rated
Xewdy444/CF-Clearance-Scraper ★ 513 58 APPLICATION

CF-Clearance-Scraper is a Python CLI tool designed to solve Cloudflare challenges (JavaScript, managed, and interactive) and extract the cf_clearance cookie for bypassing anti-bot protections. The application uses Zendriver for headless browser automation, dynamically generates realistic Chrome user agents, handles proxy authentication via CDP events, and provides output formats including raw cookies, cURL/Wget/aria2 commands, or JSON storage. The architecture is monolithic with a single entry point (main.py) featuring clean separation of concerns: argument parsing, browser orchestration, challenge detection/solving, and output formatting. Key strengths include robust user agent fallback mechanics and proxy handling, though the Cloudflare-solving logic is tightly coupled to Zendriver and challenge-specific heuristics.

RATING: 7.8/10 MAINT: maintained DRIFT: low
plamere/SortYourMusic ★ 511 106 APPLICATION

SortYourMusic is a client-side web application that lets users sort their Spotify playlists by musical attributes like tempo, energy, danceability, loudness, valence, and more. It uses the Spotify Web API with PKCE OAuth for authentication and runs entirely in the browser with no backend server. The repository contains two versions: an older monolithic implementation (web/) using jQuery, Bootstrap 3, and Underscore.js, and a modern modular rewrite (web2/) using vanilla ES modules, CSS custom properties, and no framework dependencies. The modern version demonstrates clean architecture with separate modules for authentication, API calls, state management, views, and utility functions. Key features include BPM filtering with doubled BPM support, artist separation ordering, and the ability to save sorted playlists as new copies or overwrite existing ones.

RATING: 7.8/10 MAINT: active DRIFT: low
fregante/chrome-webstore-upload-cli ★ 509 37 APPLICATION

A CLI tool for uploading and publishing Chrome Extensions to the Chrome Web Store. It wraps the `chrome-webstore-upload` library and provides `upload`, `publish`, and combined auto-publish commands. The tool accepts extension source as a directory (zipping it automatically), a pre-existing zip, or a crx file. Credentials are provided via environment variables (CLIENT_ID, CLIENT_SECRET, REFRESH_TOKEN). The architecture is a monolithic Node.js CLI with cleanly separated modules for configuration, source file discovery, API wrapping, and error handling. It is designed primarily for CI/CD automation, offering helpful error messages that link to troubleshooting guides. The codebase is well-tested with Ava and linted with XO, showing good engineering practices. It is actively maintained, using modern ES modules and recent dependency versions.

RATING: 7.8/10 MAINT: active DRIFT: low
forloopcodes/legacy-notepad ★ 508 22 APPLICATION

Legacy Notepad is a Windows desktop text editor application built with C++17 and Win32 API as a lightweight alternative to Notepad.exe. It features multi-language support (English/Japanese), multi-encoding text handling (UTF-8, UTF-8 BOM, UTF-16 LE/BE, ANSI), rich editing capabilities (word wrap, font selection, zoom, time/date stamp, find/replace/goto), background image support with multiple positioning modes and opacity control, always-on-top window pinning, printing functionality, and customizable application icons. The architecture follows a modular monolithic structure with separate modules for theme, background, file I/O, editor, UI, dialogs, commands, menu, and settings, coordinated through a Win32 message loop in main.cpp.

RATING: 7.8/10 MAINT: active DRIFT: low
esmBot/esmBot ★ 507 126 APPLICATION

esmBot is a feature-rich Discord bot focused on image manipulation, music playback, and server management. It leverages Oceanic.js for Discord API interaction, native C++ addons built on libvips for high-performance image processing, and Lavalink for music streaming. The bot supports both classic prefix commands and Discord slash commands, with a modular command class hierarchy that simplifies adding new features. It includes a database abstraction layer (SQLite or PostgreSQL), a localization system supporting 20+ languages, and a pagination utility for interactive embeds. The bot can run in a clustered PM2 environment and optionally operate a separate media API server for distributed processing. While the codebase demonstrates good engineering practices with clean abstractions, it has some security concerns (an eval/exec command), incomplete translations, and a complex native build process that may introduce maintenance overhead.

RATING: 7.8/10 MAINT: active DRIFT: medium
amsynth/amsynth ★ 506 59 APPLICATION

amsynth is a free and open-source analog modelling software synthesizer. It functions as a real-time audio application, generating sound based on MIDI input and user-controlled parameters. The architecture is a modular monolith: a core library (libcore.la) contains the entire synth engine (oscillators, filters, envelopes, reverb, distortion) and a JUCE-based GUI. This core is linked into multiple deployment targets: a standalone application (using JACK/ALSA/OSS) and several plugin formats (LV2, VST2, DSSI, Audio Unit). The codebase demonstrates strong software engineering for the audio domain. Key architectural patterns include a clean separation between the DSP engine and the UI/plugin shells, an Observer pattern for parameter changes, and a resource pool pattern for voice allocation. The Parameter module is particularly well-crafted, providing a declarative specification for all synth controls with built-in value smoothing and conversion. The VoiceAllocationUnit implements a clean voice-stealing algorithm. The project is actively maintained with CI/CD pipelines. However, it carries significant technical drift typical of long-lived audio software: it relies on a forked JUCE submodule, supports legacy formats (DSSI, VST2, OSS), and uses an autotools build system alongside Xcode and Visual Studio projects. Despite this, the core DSP components are stable, well-tested, and represent a high-quality reference for subtractive synthesis.

RATING: 7.8/10 MAINT: active DRIFT: medium
ILIAS-eLearning/ILIAS ★ 505 420 APPLICATION

ILIAS is a large, modular, open-source Learning Management System (LMS) written primarily in PHP. In production, it provides a full-featured e-learning platform including course management, tests and assessments, surveys, forums, wikis, blogs, portfolios, SCORM content, certificates, chat, and social features. The architecture is a monolithic PHP web application with a component-based internal structure under `components/ILIAS/`. It uses dependency injection (DIC), ilCtrl for routing, a custom UI framework (ILIAS\UI) with factory and renderer patterns, GlobalScreen for top-level UI orchestration, and COPage for rich content editing. Entry points include `cli/setup.php` (installation), `cli/cron.php` (cron jobs), `login.php`, and various web service endpoints (SOAP, WebDAV, REST). External dependencies include MySQL, Node.js (for the chat server), and optional integrations like LDAP, Shibboleth, and LTI. The codebase shows active modernization with PHP 8.3/8.4, strict types, enums, and a structured setup/migration system, though it still carries legacy patterns (e.g., global `$DIC`, old GUI classes) that are being phased out via PHPStan rules and deprecation notices.

RATING: 7.8/10 MAINT: active DRIFT: medium
google-research/arco-era5 ★ 505 43 DATA_RESEARCH

This repository provides a comprehensive pipeline for processing ECMWF's ERA5 reanalysis data into Analysis-Ready (AR) and Cloud-Optimized (CO) datasets stored in Zarr format on Google Cloud Storage. The workflow includes downloading GRIB data via the CDS API, splitting heterogeneous GRIB files (for soil and precipitation variables), converting to Zarr using Pangeo Forge Recipes, regridding to a uniform 0.25° latitude-longitude grid for AR datasets, and automating monthly updates via Apache Beam pipelines on Dataflow. The repository also includes tools for data sanity checks (comparing ERA5 with ERA5T) and utilities for updating configuration files that track data ingestion progress. While the code is tightly integrated with Google Cloud services (Secret Manager, Dataflow, Cloud Run) and relies on specific system dependencies (ecCodes via apt-get), it demonstrates solid data engineering practices for preparing large climate datasets for machine learning and research use. The included notebooks offer educational walkthroughs for working with the resulting model-level data, showcasing Metview integration for visualization and derived variable computation.

RATING: 7.8/10 MAINT: active DRIFT: medium

PSFramework is a PowerShell module infrastructure framework designed to be consumed by other PowerShell modules and scripts. It provides a comprehensive set of reusable components for configuration management (namespaced, typed, with validation, persistence, and scoping), structured logging (pluggable providers for file, event log, Splunk, SQL, Azure Log Analytics, GELF, and console), parallel runspace workflows (with queues, workers, timeouts, retries, and progress), advanced tab completion (auto-training argument completers), flow control (protected command pattern with ShouldProcess, retries, and exception handling), localization, serialization (compressed clixml), caching (thread-safe memory cache with LRU and lifetime expiry), filtering/conditions, and utility functions (object-to-hashtable conversion, property selection DSL, path normalization, throttling). The framework is built as a C# DLL plus PowerShell scripts, exported as a single module. It is actively maintained with regular releases, comprehensive Pester tests, and a documented 'no breaking change' promise. Despite its depth, the codebase shows signs of technical drift: heavy reliance on reflection and private PowerShell APIs, support for obsolete platforms (PowerShell 3.0, PS4), a deprecated Azure Log Analytics provider, and conditional compilation flags that increase maintenance burden. The framework is not a standalone application but a reusable dependency for module authors, emphasizing modularity, extensibility, and reliability across environments.

RATING: 7.8/10 MAINT: active DRIFT: medium
nim-lang/packages ★ 502 798 APPLICATION

This repository serves as the central package registry for Nimble, the Nim package manager. It contains a JSON file (packages.json) listing all known Nim packages, along with validation and formatting tools to maintain the list. The core functionality is implemented in package_scanner.nim, a CLI tool that checks the registry for duplicate entries, missing required fields (name, description, license, method), invalid URLs, and alias consistency. It supports incremental validation by comparing against a previous version of the registry, which is used in CI to only scan changed packages on pull requests. The repository includes CI workflows (GitHub Actions) that automatically run the scanner on every push and pull request, ensuring the registry remains valid. The getmergebase.sh script facilitates the incremental check by fetching the merge base version of packages.json. Additionally, pretty_json.nim provides a formatting utility to keep the JSON file consistently indented. While the repository is primarily a data file with supporting tooling, the validation script is a well-crafted, self-contained Nim program that demonstrates good practices: modular structure, template-based error reporting, CLI argument parsing, and optional HTTP reachability checks. It could serve as a template for validating other JSON-based registries or catalogs. The project is actively maintained, with recent commits and up-to-date CI configurations. It has low technical drift, relying only on Nim's standard library and standard GitHub Actions.

RATING: 7.8/10 MAINT: active DRIFT: low
nrenner/brouter-web ★ 500 99 APPLICATION

The BRouter-Web application is a web-based routing service that utilizes OpenStreetMap data for route planning. It offers features such as route export, profile customization, and layer management. The application has a modular structure and relies on various external services and data sources.

RATING: 7.8/10 MAINT: maintained DRIFT: low
artiebits/pdf-to-printer ★ 500 148 APPLICATION

pdf-to-printer is a small, focused Node.js/Electron library that prints PDFs and images to Windows printers by shelling out to a bundled SumatraPDF executable. The public API exposes three async functions: `print()`, `getPrinters()`, and `getDefaultPrinter()`. `print()` validates the target file, builds SumatraPDF command-line arguments from a typed options object (printer, pages, orientation, paper size, duplex, copies, etc.), and executes the binary via `child_process.execFile`. Printer discovery uses PowerShell's `Get-CimInstance Win32_Printer` and parses the formatted text output into structured `Printer` objects with device ID, name, and supported paper sizes. The code is TypeScript with strict mode, unit-tested with Jest, and bundled with webpack for UMD distribution. It is Windows-only by design and throws on other operating systems.

RATING: 7.8/10 MAINT: active DRIFT: low
syssi/xiaomi_airpurifier ★ 500 119 APPLICATION

This repository is a Home Assistant custom component that integrates a wide range of Xiaomi Mi smart home devices, including air purifiers, humidifiers, air fresh systems, and pedestal fans. It communicates with devices over the local network using the python-miio library, which implements the Xiaomi MiIO protocol. The component exposes devices as fan or climate entities within Home Assistant, providing controls for power, preset modes, child lock, buzzer, LED, target humidity, oscillation, and other device-specific features. It supports over 50 device models, each with tailored attribute mappings and feature flags. The architecture follows the Home Assistant platform pattern: configuration is provided via YAML, and the async_setup_platform function in fan.py (and climate.py for dehumidifiers) initializes the appropriate device class based on the model. Each device class extends a generic base (XiaomiGenericDevice) that handles common operations like on/off, buzzer, and child lock, while subclasses add model-specific capabilities. The component registers custom services for fine-grained control, such as setting favorite level, LED brightness, or PTC heating. State updates are performed via polling, with retry logic for transient network issues. Primary data flows are unidirectional from device to Home Assistant: the component periodically calls the miio device's status method, extracts relevant attributes, and updates the entity state. Commands from the user are translated into miio method calls via an async executor. External dependencies are limited to Home Assistant core, the python-miio library (>=0.5.12), and the construct library (>=2.10.68). The component does not rely on cloud services; all communication is local. The codebase is actively maintained, with recent commits, CI workflows for linting and validation, and support for the latest Home Assistant versions. It demonstrates solid engineering practices for a custom component: clear separation of device models, feature flag bitmasks to conditionally enable services, and consistent error handling. While tightly coupled to Home Assistant's entity model and the miio library, it is well-organized and serves as a reliable integration for Xiaomi devices.

RATING: 7.8/10 MAINT: active DRIFT: low
skelsec/msldap ★ 499 82 APPLICATION

msldap is a Python library and CLI tool for interacting with Microsoft Active Directory via LDAP. It provides both a low-level async connection (MSLDAPClientConnection) and a high-level client (MSLDAPClient) with convenience methods for enumerating users, computers, groups, GPOs, trusts, and more. The library supports multiple authentication methods (NTLM, Kerberos, simple, SSPI), LDAPS, SOCKS proxy, and includes an interactive console client (msldap) and a BloodHound collector (msldap-bloodhound). It also features ADCS vulnerability scanning, shadow credentials, LAPS extraction, DNS record manipulation, and an LDAP relay server. The codebase is well-organized with a modular architecture, extensive test suite (offline and live interop tests), and several reusable components such as a custom ASN.1 packetizer, LDAP filter parser, and binary structure parser. However, it has some known bugs (7 registered in known_failures.yml), vendored dependencies (asciitree, aiocmd) that may drift from upstream, and a few code quality issues (typos, dead code). Overall, it is a solid, feature-rich tool for AD security assessments.

RATING: 7.8/10 MAINT: maintained DRIFT: medium
jenkinsci/docker-plugin ★ 498 326 APPLICATION

This is a Jenkins plugin that dynamically provisions Docker containers as ephemeral build agents. It implements Jenkins cloud, node, computer, retention strategy, and connector extension points. The architecture is organized around DockerCloud (cloud configuration and provisioning), DockerTemplate/DockerTemplateBase (container templates), DockerTransientNode (the running container as a Jenkins agent), and DockerComputerConnector subclasses that connect agents via SSH, JNLP, or Docker attach. The plugin also provides pipeline steps (dockerNode/declarative agent), a Docker image build-and-publish builder, a management UI for inspecting Docker hosts and containers, and a watchdog that reconciles orphaned containers with Jenkins nodes. A DockerAPI wrapper around docker-java handles client caching, credentials, Unix sockets, and connection options.

RATING: 7.8/10 MAINT: active DRIFT: medium
enisn/AutoFilterer ★ 494 43 APPLICATION

AutoFilterer is a .NET library that automatically generates LINQ expressions from Data Transfer Objects (DTOs) for filtering, sorting, and pagination on IQueryable collections. It is designed to be compatible with OpenAPI 3.0 specifications, unlike oData or GraphQL. The core architecture revolves around filter DTOs that inherit from FilterBase or its derivatives (PaginationFilterBase, OrderableFilterBase). Properties in these DTOs are decorated with attributes (e.g., StringFilterOptions, OperatorComparison, CompareTo) or use special types (StringFilter, OperatorFilter<T>, Range<T>) to define filtering rules. The library builds expression trees at runtime and applies them via the ApplyFilter extension method. It also provides a Swagger integration package (AutoFilterer.Swagger) to expose filter parameters in Swagger UI, and a source generator (AutoFilterer.Generators) to automatically create filter DTOs from entity classes. The codebase is well-structured with clear separation of concerns: abstractions (IFilter, IFilterableType), attributes, types, extensions, and a dynamic filter variant. It includes comprehensive unit tests, benchmark tests, and a sandbox application demonstrating usage with a Northwind database. The library targets netstandard2.0, netstandard2.1, and net9.0, making it broadly compatible. While the core library is mature and actively maintained, some ancillary packages (e.g., Swagger integration) use slightly outdated dependencies (Swashbuckle 5.x), and the documentation has some TODO sections. Overall, it is a solid, reusable filtering framework with high craftsmanship in expression tree manipulation.

RATING: 7.8/10 MAINT: active DRIFT: medium
ahmetb/kubectl-foreach ★ 494 25 APPLICATION

kubectl-foreach is a Go-based CLI tool designed to run kubectl commands against multiple Kubernetes contexts in parallel. It retrieves context lists from kubeconfig, applies user-defined filters (exact match, regex, exclusion) to select target contexts, executes the provided kubectl command concurrently for each context, and prefixes output lines with context names for clarity. The architecture is monolithic with clear separation of concerns: argument parsing, filtering, context matching, and parallel execution are isolated into distinct modules. Key dependencies include kubectl (for context retrieval and command execution) and third-party libraries for colored output (gchalk), testing (testify), and concurrency management (golang.org/x/sync).

RATING: 7.8/10 MAINT: maintained DRIFT: low
openwallet-foundation/acapy ★ 493 532 APPLICATION

ACA-Py is a production-ready, open-source Self-Sovereign Identity (SSI) agent that implements the Hyperledger Aries ecosystem. It acts as a server-side agent for issuers, holders, and verifiers of decentralized digital credentials. The system supports multiple verifiable credential formats including AnonCreds (CL signatures), W3C Verifiable Credentials with Linked Data Proofs (Ed25519, BBS+, ECDSA secp256r1), and SD-JWT. It implements DIDComm v1 and v2 messaging protocols for secure peer-to-peer communication, along with a comprehensive set of Aries protocols for credential issuance, presentation, DID exchange, mediation, routing, and revocation. The architecture is built as a modular Python application using aiohttp for HTTP/WebSocket transport. It follows a controller pattern where external business logic interacts via a REST API and receives asynchronous webhook notifications. Core components include a dependency injection system (InjectionContext), an event bus for internal pub/sub, a plugin registry for extensibility, protocol-specific handlers for each DIDComm message type, a wallet abstraction layer supporting multiple backends (Askar, Kanon, Indy), a database manager with SQLite and PostgreSQL backends, and a DID resolver framework supporting multiple DID methods (did:key, did:indy, did:web, did:peer, did:webvh). The agent is configured via YAML files, environment variables, or CLI arguments. Key entry points include the 'aca-py' CLI command (start, provision, upgrade) and the admin REST API. The server listens for DIDComm messages over HTTP and WebSocket, processes them through protocol handlers, and persists state in the configured database. External systems interact via the admin API for credential management, DID operations, and configuration. The agent supports multi-tenant deployments with wallet isolation, mediation/routing for scalability, and integration with Indy ledgers for schema and credential definition registration. External dependencies include native cryptographic libraries: aries-askar for secure storage, anoncreds for anonymous credentials, indy-credx for Indy credential exchange, indy-vdr for Indy ledger interaction, and ursa-bbs-signatures for BBS+ signatures. It also depends on didcomm-messaging for DIDComm v2 support, pyld for JSON-LD processing, and psycopg for PostgreSQL connectivity. The project is maintained by the OpenWallet Foundation and follows an LTS release model with active community contributions.

RATING: 7.8/10 MAINT: active DRIFT: medium
spring-guides/gs-uploading-files ★ 493 494 APPLICATION

This repository is a Spring Guide tutorial demonstrating how to build a Spring Boot web application that accepts HTTP multipart file uploads. It contains four project variants: initial and complete versions in both Java and Kotlin, each with Maven and Gradle build files. The complete version adds a FileUploadController with endpoints for listing uploaded files, serving them as downloads, and handling uploads, plus a StorageService abstraction backed by a FileSystemStorageService that writes files to a configurable local directory (default 'upload-dir'). A Thymeleaf template provides a simple HTML upload form. The application is a small monolith: Spring MVC controllers handle GET / (list files), POST / (store uploaded file), and GET /files/{filename} (download with Content-Disposition). The storage layer uses java.nio.file APIs and includes a path traversal protection check that rejects filenames escaping the root directory. Upload size limits are configured via spring.servlet.multipart properties. Tests cover controller behavior with MockMvc, storage service security cases, and full integration tests using RestTestClient with redirect handling. This is educational sample code, not a production service. It demonstrates clean separation between web layer and storage abstraction, and the complete version includes meaningful security and testing patterns that can be reused in real projects. The code is actively maintained, uses current Spring Boot 4.0.x and Java 17, and is well-suited as a reference for implementing file upload endpoints.

RATING: 7.8/10 MAINT: active DRIFT: low
webpack/stylus-loader ★ 493 99 APPLICATION

This is a webpack loader that compiles Stylus (.styl) files into CSS. It acts as a bridge between the webpack build system and the Stylus CSS preprocessor, handling import resolution (including glob patterns, node_modules, webpack aliases, and tilde imports), source maps, custom Stylus options, and URL rewriting. The architecture follows the standard webpack loader pattern: it receives the source code, parses options via a JSON schema, renders Stylus using an implementation (defaulting to the `stylus` package), and outputs either the compiled CSS along with source map and dependency list. It supports dual ESM/CJS builds and is compatible with webpack 5 and optionally Rspack. The primary entry point is `src/index.js`, which exports the loader function. Core utilities live in `src/utils.js`, which includes a custom Stylus evaluator that overrides import resolution to delegate to webpack's resolver, utility functions for normalizing options and source maps, and a dependency collector that traverses the Stylus AST to report all imports to webpack's build graph. The loader integrates deeply with webpack's module resolution (aliases, `resolve.byDependency`, custom conditions) and supports advanced Stylus features like CSS module exports, `@import` and `@require`, `@block`, and the `url()` resolver. Externally, it depends on the `stylus` npm package as the core preprocessor, and on webpack's loader API. It is actively maintained, with recent major version bumps aligning with Node.js runtime requirements (v9.0.0 requires Node >=22.11.0). The codebase is well-tested with a comprehensive test suite covering numerous edge cases in import resolution, error handling, and option combinations. While the loader itself is webpack-specific, several internal patterns (custom evaluator, dependency resolution, URL handling) demonstrate non-obvious craftsmanship and could inform similar integrations for other CSS preprocessors.

RATING: 7.8/10 MAINT: active DRIFT: low
$ loading more...
$ submit: