Contributing to RapidPro
As an Open Source project, RapidPro can only get better with contributions from the community. If you are interested in making RapidPro better, here are some guidelines on how to contribute code.
Open a new Issue
If you have a new feature or enhancement in mind, first and foremost, check with us by opening a new issue. Perhaps somebody is already working on it, or perhaps there are some reasons why it doesn’t already exist.
It is much less likely that your contribution will be rejected if you first check with us on the changes you are making and your approach in implementing them.
Follow Conventions
Once you have gotten the go-ahead on your changes, get to coding! Just make sure to follow our coding conventions. If you are introducing some new technology or approach not already present in RapidPro it is doubly important for you to discuss those changes ahead of time with us or your patch may not be approved.
Write Tests
All new functionality needs to come with associated tests that fully cover the new code paths you introduce. This is the only way RapidPro can continue to evolve quickly over time. Contributions which do not come with associated unit tests will not be approved.
Open a Pull Request
Once you are ready, open a Pull Request on the RapidPro repository, referencing the original issue you submitted. We will review your changes and if everything looks good, roll your changes into the codebase. Thanks!
Contributing to this Site
To contribute enhancements to this site, please fork the RapidPro repository and make your changes on the gh-pages branch where the source can be found. All helpful additions are encouraged, just open a pull-request to get them accepted.
Contributing Translations
Currently RapidPro’s interface is translated in English, French, Spanish and
Portugese, but we’d love to support more. If you’d like to provide translations
in a new language or provide fixes, then head over to
Transifex to supply them.