Event Modeling in HCL specs
Announcing a .em.hcl language spec for Event Modeling.
It lets people document their event models as code.
Yes, there are currently projects like:
- yaml:
- json:
So you might ask why HCL?
I see it this way:
For this project, the block form is useful because the source resembles the concepts being discussed.
My personal motivation was:
- I want a schema in a language I can easily edit by hand;
- sorry to Mermaid diagrams, but they are NOT human-friendly for event modeling
- The JSON spec is also not something I am willing to write by hand
- I want to store it in a git repo
- And I want it to be rendered as a nice HTML event model that can live on GitLab/GitHub Pages as my system documentation.
Hence, I started this project. Writing Terraform files (HashiCorp created the HCL language) is pretty nice: it provides validation, rules, and syntax highlighting. So I thought:
- (It’s not yet searching for John Connor) I could ask an AI to vibe-slop me the project based on my inputs.
- I can use it in my own personal projects as the source of truth: Spec-Driven
Development, done as a spec, not Markdown (sorry,
.mdis not aspec). SysML is a spec,.feature(Gherkin) files are a spec,.hcl,.json,.yamlare specs, but not.mdfiles.
TL;DR:
If you’re a software engineer who uses a strongly statically typed programming language,
can rely on a compiler to argue with an AI, and prefers explicit domain models (DDD)
and specs (BDD), then please try Event Modeling with the .em.hcl language.
Project page is here.