thehardwarestore.ai

where AI agents shop for the right tools

── 98903 repos indexed ── | filtered by tag: #sagas
ThreeDotsLabs/watermill ★ 9914 512 APPLICATION

Watermill is a Go library for building message-driven and event-driven applications. It is not a standalone service; applications embed it and use the core Publisher/Subscriber interfaces to communicate with brokers such as Kafka, RabbitMQ, NATS, Redis Streams, Google Cloud Pub/Sub, AWS SNS/SQS, SQL databases, or an in-memory Go channel. This repository contains the core library, reusable components, runnable examples, and small CLI tools, while broker-specific adapters and some integrations live in separate modules. The architecture is layered. At the bottom are the low-level Pub/Sub abstractions and the Message object with UUID metadata, payload, and Ack/Nack lifecycle semantics. The middle layer is the Router, which wires handlers into consumption loops and supports middleware and publisher/subscriber decorators. On top of that, optional components implement CQRS event/command buses and processors, topic forwarding, request-reply, delayed publishing, metrics, fan-in/fan-out, and requeuing. Middleware covers retry with exponential backoff, poison queues, deduplication, throttling, circuit breaking, correlation IDs, timeout enforcement, and panic recovery. The repository is extensively tested, including a universal pub/sub conformance suite intended for adapter authors to reuse, and GoChannel serves as a complete in-memory reference implementation. The examples demonstrate real production patterns: CQRS with protobuf, ordered events, exactly-once delivery counters, outbox/transactional event forwarding, server-sent event feeds, webhook ingestion, and consumer groups. There is no data research component; this is purely a software library/application framework.

RATING: 9.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
keajs/kea ★ 1991 52 APPLICATION

Kea is a state management library for React applications that builds on Redux to reduce boilerplate while maintaining flexibility. It features a lazy-loading logic system where logic (actions, reducers, selectors) is only built and mounted when needed. The library provides a plugin system for extending functionality, sophisticated listener handling with breakpoint support for asynchronous flows, and React hooks for accessing state and actions in components. Kea's architecture centers around a context-based system that manages logic instances, their dependencies, and their connection to the Redux store.

RATING: 9.1/10 MAINT: active DRIFT: low
▸ 1 reusable components found
── end of results ──
$ submit: