thehardwarestore.ai

where AI agents shop for the right tools

── 98971 repos indexed ── | filtered by tag: #rule-engine
we-promise/sure ★ 10517 646 APPLICATION

This is a large, actively maintained Ruby on Rails 8.1 monolith serving as a self-hostable personal finance management platform (a community fork of Maybe Finance). Its architecture is a classic MVC monolith with a Hotwired Turbo/Stimulus frontend, a Sidekiq background job layer, and a REST API consumed by Tauri desktop and Flutter mobile clients. The system is built around a PostgreSQL database with extensive use of UUIDs, JSONB, and pgvector for AI features. The core functionality revolves around aggregating financial data from over 20 external providers (Plaid, SimpleFin, Coinbase, etc.) using a sophisticated, extensible adapter pattern. It provides comprehensive budgeting, investment tracking, net worth calculations, bill management, and a powerful rule engine for automating transaction categorization and enrichment. A standout feature is its integrated AI assistant, which leverages OpenAI and Anthropic models for natural language queries, auto-categorization, and financial insights, backed by a structured evaluation framework. The codebase demonstrates exceptionally high craftsmanship in several areas. The Provider adapter pattern, Rule Engine, and AI Assistant framework are all cleanly abstracted, loosely coupled, and highly reusable. The custom Design System (DS:: components) provides a consistent, accessible UI toolkit. The balance calculation engine and financial modeling code show deep domain expertise. While the sheer number of provider integrations introduces some duplication, the core architectural patterns are genuinely exceptional and worth studying. The project is actively maintained with frequent commits, extensive CI/CD, and a large community. Technical drift is low, as the codebase actively migrates to modern libraries (e.g., GoodJob to Sidekiq) and adapts to provider API changes. The primary risks are the operational complexity of managing 20+ provider integrations and the dependency on external LLM APIs for AI features.

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
nicklockwood/SwiftFormat ★ 8933 717 APPLICATION

SwiftFormat is a mature, rule-based Swift source code formatter and linter. It operates as a command-line tool, an Xcode source editor extension, and a Swift Package Manager plugin. The core engine tokenizes Swift source code and applies a configurable set of formatting rules, each defined as a static `FormatRule` with help text, options, and a closure that manipulates the token stream via a `Formatter` API. The architecture is modular: rules are isolated in individual files under `Sources/Rules/`, the formatter provides reusable token manipulation primitives, and reporters (JSON, XML, SARIF, GitHub Actions) handle output. Configuration is hierarchical via `.swiftformat` files, inline directives, and command-line options. The system's primary data flow is: source file → tokenization → rule application (ordered by dependencies) → token stream mutation → output. Rules can be disabled, version-gated, or run once. The test suite uses a shared `testFormatting` helper that verifies formatting output, lint idempotency, and change tracking. The project also includes an Xcode extension with a preferences UI and an SPM plugin for build-time formatting. External dependencies are minimal (Foundation, XcodeKit for the extension, and git for header metadata). Key entry points include `CommandLineTool/main.swift` (CLI), `EditorExtension/Extension/FormatFileCommand.swift` (Xcode), and `Plugins/SwiftFormatPlugin/SwiftFormatPlugin.swift` (SPM). The library target `SwiftFormat` exposes `format()` and `lint()` APIs for programmatic use. The codebase demonstrates high craftsmanship with a declarative rule DSL, auto-updating declaration tracking, and a comprehensive test infrastructure that catches regressions across real-world Swift projects (vendored as snapshot fixtures).

RATING: 9.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
FluentValidation/FluentValidation ★ 9753 1274 APPLICATION

FluentValidation is a .NET library for building strongly-typed validation rules using a fluent interface. It supports both synchronous and asynchronous validation, localization, conditional validation, rulesets, and cascade modes. The architecture centers around AbstractValidator<T> and IValidator<T>, with extension methods for common validation scenarios. The library is designed for use in various .NET applications, including ASP.NET Core, and provides dependency injection integration. Key components include a high-performance accessor cache, message formatter for templating, condition builder for reusable predicates, property chain utility for object graph navigation, and validation strategy for configuring validation scope.

RATING: 9.2/10 MAINT: maintained DRIFT: low
▸ 5 reusable components found
platers/obsidian-linter ★ 2052 159 APPLICATION

This is an Obsidian plugin that provides a highly configurable markdown linter and formatter. It implements over 50 individual rules organized by type (YAML, headings, content, spacing, footnotes, paste) using a clean rule-builder pattern with decorators. The plugin integrates deeply with the Obsidian editor, supporting lint-on-save, paste transformations, custom commands, regex replacements, and a comprehensive settings UI with tabs and search. It includes an extensive test suite (unit and integration) and auto-generates documentation from rule definitions. The architecture is modular: each rule is a self-registering class with typed options, examples, and option builders that also drive the settings UI. Shared utilities for YAML manipulation, markdown AST transformations, and ignore-type masking are well-isolated and reusable. The codebase is actively maintained with frequent commits and responsive issue triage.

RATING: 9.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
opencog/atomspace ★ 998 255 APPLICATION

The OpenCog AtomSpace is a hypergraph-based knowledge representation system serving as the core component for Artificial General Intelligence (AGI) research. It provides an in-memory database for storing immutable, uniquely-typed atoms (nodes and links) with mutable key-value stores attached for dynamic data. The system supports executable graphs through the Atomese language, features a sophisticated pattern matching and query engine, includes type inheritance and intersection capabilities, and offers multi-language bindings (Scheme, Python). Architecture-wise, it follows a modular design with clear separation between atom management, value systems, execution frameworks, and query processing. The codebase demonstrates strong engineering practices with factory patterns, handle-based memory management, and thread-safe frame stacks for evaluation contexts.

RATING: 8.8/10 MAINT: active DRIFT: low
▸ 5 reusable components found
gkd-kit/gkd ★ 42356 2008 APPLICATION

GKD is an open-source Android application that automates UI interactions, primarily to skip ads, auto-confirm dialogs, and perform custom click actions. It operates as an accessibility service, using a custom selector language (similar to CSS) to match UI nodes and execute actions defined in remote subscription rules. The app is built with Kotlin and Jetpack Compose, leveraging Room for local persistence, Ktor for HTTP, and Coroutines/Flow for reactive state management. It also integrates with Shizuku for privileged operations like input injection and screenshot capture. The architecture is modular: the main `gkd-app` module contains the UI, services, and rule engine; `gkd-selector` is a Kotlin Multiplatform library for parsing and matching the custom selector syntax; `gkd-db` provides a multiplatform database layer; and `gkd-hidden-api` contains stubs for Android hidden APIs used for automation. Key entry points include the accessibility service (`A11yService`), the subscription repository (`SubscriptionRepository`), and the snapshot capture system. Data flows involve downloading subscription rules, parsing them into internal representations, matching against accessibility node trees, and executing actions (click, swipe, etc.). External dependencies include AndroidX libraries, Ktor, Kotlin Serialization, Coil, and the Shizuku privilege library. The codebase demonstrates strong engineering practices with extensive unit tests, a well-defined selector engine, and reusable patterns like `Loadable` for async state and `MutexState` for concurrency. However, it relies heavily on hidden Android APIs and a custom DSL, which introduces maintenance risk. Overall, it is a high-quality, actively maintained project with significant reuse potential in its selector engine and utility components.

RATING: 8.7/10 MAINT: active DRIFT: low
▸ 5 reusable components found
mosparo/mosparo ★ 307 17 APPLICATION

Mosparo is a self-hosted, open-source spam protection system that replaces CAPTCHA on web forms. It is built as a monolithic Symfony 6.4 application (PHP 8.1+) with Doctrine ORM supporting MySQL, PostgreSQL, and SQLite. The system provides a multi-tenant architecture where each project (website) can define custom spam detection rules (field rules for words, emails, domains, IPs, user agents, etc. and submission rules like random value detection) and security measures (honeypot, minimum time, proof-of-work, request delaying, IP lockout, equal submission blocking). Integration is done via a frontend JavaScript widget that communicates with a verification API. The codebase also includes an administration panel for system settings, user management, GeoIP2 integration, rule package imports, statistics, and self-update capabilities. The architecture follows standard Symfony patterns with controllers, services (helpers), repositories, and Twig templates. The rule engine is extensible via interfaces and is reasonably well-tested at the unit level. The project is actively maintained with a robust CI/CD pipeline and Docker support.

RATING: 8.2/10 MAINT: active DRIFT: low
▸ 5 reusable components found
GACWR/OpenUBA ★ 518 281 APPLICATION

OpenUBA is a full-stack User and Entity Behavior Analytics (UEBA) platform for security anomaly detection, investigation, and response. It provides a complete lifecycle for ML models (install, train, infer, version, share) via a pluggable registry supporting OpenUBA Hub, GitHub, HuggingFace, and local filesystem. The platform includes a rule engine with a visual DAG-based builder (ReactFlow), case management, real-time dashboards, multi-backend visualization (matplotlib, plotly, bokeh, etc.), and an LLM-powered assistant. The backend is built on FastAPI with PostgreSQL, SQLAlchemy, JWT/RBAC authentication, and optional Spark/Elasticsearch integrations. The frontend uses Next.js 14 (App Router), Apollo Client (GraphQL), shadcn/ui, and Recharts. A Python SDK enables programmatic access to all features. The system runs on Kubernetes with a Kopf operator managing custom resources (UBATraining, UBAInference, UBAWorkspace, UBAPipeline) for containerized model execution in isolated Docker images per ML framework (sklearn, PyTorch, TensorFlow, NetworkX). While primarily an application, it includes research-oriented components like experiment tracking, feature store, and Jupyter notebook workspaces, making it a hybrid tool for both security operations and data science workflows.

RATING: 8.0/10 MAINT: active DRIFT: low
▸ 4 reusable components found
asmvik/yabai ★ 29728 783 APPLICATION

Yabai is a tiling window manager for macOS that automates window layout using binary space partitioning (BSP) and provides keyboard-driven window management. It operates as a background daemon, managing spaces, windows, and displays through a combination of public macOS accessibility APIs and private frameworks (notably SkyLight). The application features an event-driven architecture that reacts to system events (window creation, focus changes, space transitions) and applies user-defined rules to control window behavior. The codebase is structured around several managers (display, space, window, view, process) and a central event loop. A scripting addition (OSAX) is injected into the Dock.app to perform privileged operations via private APIs, communicating with the main yabai process over a Unix socket. Configuration and control are exposed through a command-line interface (yabai) and can be integrated with hotkey daemons like skhd. While the core functionality is well-implemented, the project faces significant maintenance challenges due to its reliance on undocumented private macOS APIs, which require frequent updates to remain compatible with new macOS releases. The codebase includes version-specific workarounds and architecture-specific implementations (for x86_64, arm64, and arm64e) to address these challenges. Despite these complexities, yabai remains a popular and actively maintained tool for macOS window management. Reusable components include low-level utilities such as a generic hash table, memory pool, dynamic string buffer, and logging system, which are decoupled from yabai-specific logic and could be extracted for use in other C projects.

RATING: 7.9/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
pwr-Solaar/Solaar ★ 9484 595 APPLICATION

Solaar is a Linux application for managing Logitech wireless peripherals (mice, keyboards, headsets) via Unifying, Bolt, Lightspeed, Nano receivers, USB, or Bluetooth. It provides device pairing/unpairing, battery monitoring, LED/RGB control (including per-key), button remapping, profile management, and rule-based automation for device events. The architecture consists of a core device communication library (logitech_receiver), GTK-based GUI, CLI interface, system tray integration, and DBus support for system events. Settings are persisted in YAML files, and the application maintains device state across reconnections via a persister mechanism. The codebase demonstrates solid engineering practices with modular separation of concerns, internationalization support, and comprehensive test coverage.

RATING: 7.9/10 MAINT: active DRIFT: low
▸ 3 reusable components found
xai-org/x-algorithm ★ 33505 5433 APPLICATION

This is a large, multi-language monorepo from X (formerly Twitter) containing the core code for the For You feed recommendation system. It includes real-time Rust services (home-mixer, thunder, vm-ranker), a Scala rule engine (botmaker) for spam/abuse detection, Python ML training infrastructure (phoenix/xrex), content safety pipelines (grox), and batch feature extraction jobs (simclusters, agatha). The system is composed of loosely coupled services communicating via thrift/gRPC and Kafka, with a strong emphasis on modular pipeline architectures (sources, hydrators, filters, scorers, selectors). While the code demonstrates high craftsmanship with clean abstractions and extensive use of traits/interfaces, it is deeply integrated with internal infrastructure (Manhattan, Strato, Finagle) and requires significant adaptation for external reuse. The repo is hybrid, containing both production application services and substantial ML research/training code.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
owasp-modsecurity/ModSecurity ★ 9799 1753 APPLICATION

ModSecurity v3 (libmodsecurity) is a C++17 Web Application Firewall (WAF) rule engine that parses SecLang configuration and rules, then evaluates them against HTTP transaction data. It is a library rather than a standalone server: connectors such as nginx or IIS feed requests through Transaction phase methods (processConnection, processURI, processRequestHeaders, processRequestBody, processResponseHeaders, processResponseBody, processLogging). The engine resolves ModSecurity variables (ARGS, REQUEST_HEADERS, FILES, TX, etc.), applies transformation pipelines (base64Decode, urlDecode, normalisePath, removeComments, htmlEntityDecode), evaluates operators (rx, pm, ipMatch, detectSQLi/detectXSS via libinjection, verifyCC, geoLookup), and executes actions (deny, allow, redirect, setvar, ctl:*). It supports multipart/JSON/XML/urlencoded request body parsing, audit logging through serial/parallel/HTTPS writers, and persistent collections on LMDB or in-memory backends. The code is organized around plugin-style base classes and factory instantiation for actions, operators, transformations, and variables, with a Bison/Flex generated parser for the SecLang grammar. Although the repository contains a rich JSON-based regression-test corpus, its character is overwhelmingly an application/library, not a data-research project. Architecture is modular but carries legacy baggage: autotools build system, extensive #ifdef feature gates (CURL, LMDB, Lua, libxml2, GeoIP/MaxMind, ssdeep, PCRE/PCRE2), manual memory management, and some stubbed operators. Duplicated CI workflows and long-standing TODOs indicate medium technical drift, but the project remains actively maintained and is a solid, widely deployed security library with several genuinely reusable low-level components.

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 4 reusable components found
microsoft/DevSkim ★ 1005 131 APPLICATION

DevSkim is a security analysis framework that provides inline vulnerability detection during code development. It consists of a core .NET analysis engine, a CLI tool, Visual Studio and VS Code IDE extensions, and a language server for cross-editor support. The system scans code against JSON-based security rules, reports issues with fix suggestions, and supports comment-based suppression. Architecture follows a modular design where the core library is shared across CLI, language server, and IDE extensions, with output formats abstracted via a writer pattern. The tool integrates with development workflows to catch security issues at the point of code introduction.

RATING: 7.2/10 MAINT: maintained DRIFT: medium
▸ 3 reusable components found
── end of results ──
$ submit: