ESDM is a tool that allows modeling event-sourced domains using plain YAML files, with an opinionated linter to validate the models.

Stars

26

7-day growth

No data

Forks

2

Open issues

15

License

MIT

Last updated

2026-07-21

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It integrates domain modeling into version control and code review workflows, making event-sourcing designs maintainable and collaborative.

Who it is for

  • Domain-driven design practitioners
  • Event-sourcing architects
  • Software engineers building event-driven systems
  • Teams adopting event storming or domain modeling

Use cases

  • Modeling aggregates, events, and commands in event-sourced systems
  • Defining bounded contexts and their relationships
  • Validating domain models in CI/CD pipelines
  • Documenting and discussing domain model changes in pull requests

Strengths

  • Simple YAML-based syntax that is easy to read and write
  • Opinionated linter ensures consistency and catches errors
  • Models live alongside code, enabling version-controlled evolution
  • Open-source with comprehensive documentation at esdm.io

Considerations

  • Requires understanding of event-sourcing and DDD concepts
  • Opinionated linter rules may not suit all teams or modeling styles
  • Currently only supports YAML format for modeling

README quick start

esdm

ESDM lets you model event-sourced domains as plain YAML files: aggregates, events, commands, bounded contexts, and more. An opinionated linter validates the models, so they can live next to your code and evolve in pull requests.

The complete documentation, including installation, getting started, concepts, modeling guides, and the full reference, is available at https://www.esdm.io.

Building From Source

$ make build

This builds the esdm binaries for all supported platforms into the build/ directory.

Running Quality Assurance

$ make

Description

Event-Sourced Domain Modeling language.

Related repositories

Similar projects matched by category, topics, and programming language.

nethical6
Featured
nethical6 GitHub avatar

conversation-steganography

A tool that hides encrypted secret messages inside innocent-looking AI-generated chat text for private communication over any messaging platform.

Go
1,149
programmersd21
Featured
programmersd21 GitHub avatar

flow

flow is a minimalist terminal dashboard that displays real-time network throughput with smooth animations, multiple responsive modes, and zero configuration.

Developer ToolsCLI & Terminal
277
MobAI-App
MobAI-App GitHub avatar

simslim

simslim reduces iOS simulator memory usage by 4x by disabling unnecessary background daemons, allowing many more simulators to run on a single Mac.

Go
248