mookid8000/Cirqus — reverse-engineered prompt

Reverse engineered prompt

GitHub

Build me a simple C# event sourcing and CQRS framework like Cirqus.

I want developers to be able to define commands, aggregate roots, domain events, and read models, then wire everything together with a clean command processor API. The main flow should be that an app creates one command processor, sends commands into it, events get stored, aggregates are rebuilt by replaying events, and views are updated from those events.

Please include a small working counter example that shows a command incrementing a counter aggregate, emitting and applying an event, then updating a view with the current value. Keep the API friendly and discoverable, with a fluent setup style for choosing an event store and event dispatcher.

Support common .NET usage and make it easy to plug in different storage backends later, like SQL Server, SQLite, PostgreSQL, MongoDB, or in memory for tests. Add basic test helpers and documentation comments so someone can understand the emit and apply pattern quickly. Look up current .NET docs online if you need to.

Want more depth? Deep Reverse