Code Build Status Documentation Build Status Coverage Status Maven Central

CLA assistant Scala Steward badge License

Lines of Code Technical Debt Code Smells Vulnerabilities Security Rating Reliability Rating


Full Documentation

Is here:


RIDDL, the Reactive Interface to Domain Definition Language, is a specification lanugage and tooling to help capture requirements and specify designs for the class of systems that can be designed with DDD and utilize a distributed, reactive cloud native architecture.

RIDDL allows subject matter experts, business analysts, and system architects to work at a higher level of abstraction than they would if they were coding directly in a programming language. RIDDL aims to relieve developers of the burden of maintaining infrastructural code through evolution of the system abstractions.

Important Documentation Sections

  • Introduction - answer the important initial questions
  • Concepts - provides a conceptual understanding of RIDDL before diving into the details
  • Guides - four guides for different kinds of RIDDL audiences.
  • riddlc - various ways to obtain the RIDDL compiler

Install With brew


Quickly Building On Your Computer

To use riddlc locally and be able to update it with new changes, use this approach:

  • git clone
  • Change the directory to that cloned repository
  • Put the full path to riddl/riddlc/target/universal/stage/bin directory in your PATH variable
  • Build the entire package with sbt compile
  • Chane directory to the riddlc sub-project
  • Run sbt stage to build the program into theriddlc/target/universal/stage/bin directory
  • To update, run git pull from the riddl cloned repository and rerun the sbt stage command in the riddlc sub-project to rebuild.

This allows you to both make local changes and pull in changes from others to keep your local copy of riddlc up to date.


To get the most recent options, run riddlc help. That command will give you the syntax for doing various things with the riddl compiler (riddlc)

Version / Info

The riddlc compiler has two commands, info and version that just print out information about the build, and the version number, respectively, and then exit.


Contributions are very welcome!

If you see an issue that you'd like to see fixed or want us to consider a change, the best way to make it happen is to help by submitting a pull request implementing it. We welcome contributions from all, even if you are unfamiliar with RIDDL. We will endeavor to guide you through the process once you've submitted your PR.

Please refer to the file for more details about the workflow and general hints on preparing your pull request. You can also ask for clarifications or guidance on GitHub issues directly.

The RIDDL family of repositories is owned by Ossum, Inc., and they require the use of a CLA (Contributor License Agreement). You can sign at that link or be prompted to do so when you submit your first Pull Request.