What are "les", "les-node", "les-viz" and "compliance-test"?

LESTER Command Line Tools

See also: https://github.com/Adaptech/les/tree/master/cmd


Think of les as an architect-in-a-box.


les-node builds an event sourced NodeJS API from EML.


Generates a GraphViz digraph for an event storming which can be turned into a (e.g.) .png file:


See https://github.com/Adaptech/les/tree/master/cmd/les-viz

What is the “compliance-test” utility?

compliance-test is a tool for developers who wish to contribute to les-node or build their own Event Markup -> code builders. It tests whether a HTTP API built from a reference EML specification is a complete “error-free” event sourced system. (a.k.a. “les compliant”). It assumes that certain conventions were followed for routes and API endpoint names. It is implementation language agnostic.

What do les-redux, les-csharp, les-shellscript, les-haskell, les-whitespace and les-akka have in common?

They are not in existence. The only languages for which EML->API builders have been created at this point are EML->NodeJS, EML->Swagger/OpenAPI (as a Golang package for use by other tools) and a EML->Golang pre-alpha version.

What is les-I-can’t-stand-code-other-than-my-own?

Event Markup Language is your hedge against the framework trap (a.k.a. “straight jacket, implemented as mystery code”). It is deliberately implementation- and language-agnostic. eml-node demonstrates how to turn EML into a working CQRS/ES system with an API and a Swagger API playground. If you prefer (or need) to implement your own version, go ahead.