Over the past months, I've been building Genesis DB - an event-sourcing database engine designed around simplicity and and real-world usability.
While working on it, I needed a clean, TypeScript-native CQRS framework that would let me model commands, events, and projections without being tied to a specific backend.
That's how CQRSKit was born.
CQRSKit is a lightweight TypeScript framework for CQRS (Command Query Responsibility Segregation) and Event Sourcing, built with modularity in mind. It ships with a minimal core and allows you to plug in your own database adapter whether that's Genesis DB, Postgres, MySQL, or a custom store.
Highlights:
- TypeScript-first design: Strong typing for commands, events, and handlers
- Event Sourcing support: Append-only event streams and replay capability
- Pluggable persistence layer: Bring your own adapter via a simple interface
- Separation of concerns: Clean command and query boundaries
- Lightweight by design: Zero magic, just predictable behavior
npm install cqrskit
Docs & examples: https://npmjs.com/package/cqrskit
Infos about Genesis DB: https://www.genesisdb.io
I'd love feedback from developers using CQRS or Event Sourcing in production:
What do you think about a pluggable-adapter approach?
Would you prefer stricter conventions or more flexibility in handler definitions?
Thanks for reading!
Comments URL: https://news.ycombinator.com/item?id=45705615
Points: 1
# Comments: 0
.png)
