Contributing to Eventuate

If you haven’t already done, please sign the Individual Contributor License Agreement (CLA). To sign it online, send an email to including your full name and email address. You’ll receive an email with a link for filling and signing the CLA.

Then, fork the Eventuate Github repository and start working on a feature branch. When you are done, create a pull request towards the targeted branch. When there’s consensus on the review, someone from the Eventuate team will merge it.

Please follow the best practices mentioned in Git workflow and the guidelines for Git commit messages. If you need help or want to discuss your contribution, post a message to the Eventuate mailing list.

Building Eventuate

Eventuate builds require an installation of the sbt build tool and a local clone of the Eventuate Github repository or your personal fork.


After having cloned the repository, change to the eventuate directory:

cd eventuate

and run the tests with:

sbt test

which runs unit, integration and multi-jvm tests. You can run them separately with:

sbt test:testOnly
sbt it:testOnly
sbt multi-jvm:test

To publish the binaries to the local Ivy repository, run:

sbt publishLocal

To publish the binaries to the local Maven repository, run:

sbt publishM2


Our documentation is written in reStructuredText and located in src/sphinx. Building the documentation requires an installation of Python and Sphinx.

The following installation instructions are for Mac OS X. If Python isn’t already installed, install Homebrew first and then Python with:

brew install python

Next, install pip:

sudo easy_install pip

and then Sphinx with:

sudo pip install sphinx

Additionally, the Sphinx Read the Docs scheme is required:

sudo pip install sphinx_rtd_scheme

Now build the documentation with:

sbt makeSite

and open target/site/index.html in your browser.