RevBayes is a collaborative software project involving developers from Europe and North America. Since RevBayes is open source, everyone is free to clone the GitHub repository. If you would like to implement new methods or models in any of the RevBayes source code, you can contribute your work to the project by issuing a pull request on GitHub. Alternatively, if you are interested in joining the RevBayes development team, please contact one of the public members to request access. Also consider attending a RevBayes hackathon where the developers get together to work on the software.
Before digging into the developer guide it may be useful to understand the user side of RevBayes. We have provided tutorials that walk through the basics of using directed acyclic graphs (DAGs) for conducting phylogenetic analyses in RevBayes.
The RevBayes Developer’s Guide will provide you with the information needed to implement new methods, models, functions, and algorithms in the RevBayes language and core libraries.
RevBayes Git Workflow
How to contribute code effectively
Setting up an IDE for RevBayes
Setting up XCode, Eclipse, vim
Getting familiar with the code
The architecture of the RevBayes source code
Automated building and testing in RevBayes
Quick automated feedback on code changes
Best practices in RevBayes
Coding and documentation guidelines
Implementing functions, distributions, and moves
Getting started with RevBayes development
Contributing a RevBayes tutorial
How to write and host a tutorial on this website
Integration Tests in RevBayes
Ensuring that code changes did not unexpectedly alter the software
Validation Scripts in RevBayes
Ensuring correct performance of models and methods using simulations
Using Docker with RevBayes
Containerized debugging and executeables