logoalt Hacker News

nivertech05/14/20254 repliesview on HN

1. Does Ash supports CQRS/ES architecture?

Or alternatively can it be combined with a framework like Commanded?

2. How customizable is GraphQL layer? Specifically error handling/idempotency for mutations?


Replies

joshprice05/14/2025

Ash models an application's verbs or operations as actions. This allows the production of events via an "Aspect Oriented" way of hooking into the action lifecycle.

Although it doesn't support a command first Event sourcing approach, AshEvents (https://github.com/ash-project/ash_events) does help produce events that could be replayed.

Torkild wrote an article about his latest updates to AshEvents here:

https://alembic.com.au/blog/ash-events-event-sourcing-made-s...

mike1o105/14/2025

The GraphQL layer is built on top of Absinthe. If you really find something you can't model with Ash's actions, you can always just jump to your Absinthe schema and write you own queries/mutations/subscriptions. You'll just need to write your own resolver.