Contributing

The Citrus development team will be glad to receive new ideas and improvements from you - any time. You can access the Citrus source on GitHub. You can fork the Citrus project on GitHub very easy in order to provide changes. In case you have coded extensions, bug fixes or simply new features, please send us a pull request from your repository. If you are not sure how to do it please see our quickstart or refer to the very good documentation and how-to section on GitHub.

If you still have questions regarding Citrus development please do not hesitate to send us a mail regarding your problems on citrus-dev mailing list.

New code

In case you coded a new feature or extension we are looking forward to know about it! Send us your changes as pull request on GitHub including unit tests (we are very serious about testing, of course) and a description of the feature.

Note: If you want your contributions in the official Citrus code repository you have to agree that your changes are released under the same license as Citrus uses to that time and that the Citrus team might change the licensing of Citrus in future.

Bug fixing

Bug fixes are also best sent to us as project fork on GitHub along with a bug report, so we can apply the fix to the code base. Please tell us the version the patch should be applied to in order to avoid misunderstandings. Bug fix changes must be released under the same license as Citrus to get involved into the code base.

Feature requests

In case you have new ideas and feature requests for Citrus but you do not want to implement those on your own, we will be happy to receive your request on the citrus-dev mailing list. You can also simply open a feature request through the issue tracker on GitHub. We will discuss the benefit of the new feature with you and help you to get the best out of Citrus for your needs.

Site generation

If you would like to improve the site content you may need to build the html sources locally. The site generation process is designed to run with Jekyll Docker image. You need to start Docker on your local machine and then call:

mvn clean resources:resources package site-deploy -Psite,release-local -N

This will automatically start the Jekyll Docker container for site generation. As a result you have the generated site html sources in the local Maven target/site build folder. For local deployment call

mvn docker:start -Psite -N

Wait for the Docker container to start and open your browser pointing to http://localhost:4000. You will be able to see and navigate through the generated site locally.

A thank you

Thanks! Hacking on Citrus should be fun. If you find any of this hard to figure out, let us know so we can improve our process or documentation!