preferences-event-catalog-tooling
Event catalog tooling
Purpose
Event catalog tooling formalizes the domain events, commands, and services discovered through collaborative modeling into structured, queryable documentation. This document provides guidance on using EventCatalog and related tools to maintain a system of record for event-driven architectures grounded in algebraic functional domain modeling.
The key principle is that event catalogs document algebraic structure, not object-oriented artifacts. Events are elements of a free monoid, commands are validated functions producing events, and services are module boundaries with explicit effect signatures. Catalogs should reflect this structure rather than imposing entity-relationship or class-hierarchy thinking that obscures the underlying algebra.
EventCatalog specifically provides visualization, discovery, and governance for event-driven systems while remaining agnostic to implementation patterns. When populated according to the guidelines here, catalogs reinforce the Decider pattern, pure functional aggregates, and explicit effect boundaries central to our approach.
Relationship to other documents
This document extends the collaborative modeling and event sourcing workflows with concrete tooling guidance.