Resources for Developers

Joining the RevBayes Team

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.

Developer’s Guide

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

Contributing a RevBayes tutorial

How to write and host a tutorial on this website

Best practices in RevBayes

Coding and documentation guidelines

Implementing functions, distributions, and moves

Getting started with RevBayes development

Using Docker with RevBayes

Containerized debugging and executeables

Validation Scripts in RevBayes

Ensuring correct performance of models and methods using simulations

Integration Tests in RevBayes

Ensuring that code changes did not unexpectedly alter the software

Automated building and testing in RevBayes

Quick automated feedback on code changes