.github/CONTRIBUTING.md

Contributing to EpiNow2

This outlines how to propose a change to EpiNow2. In general, we accept contributions in the form of issues and/or pull requests.

Small changes

Grammatical issues

You can fix typos, spelling mistakes, or grammatical errors in the documentation directly using the GitHub web interface, as long as the changes are made in the source file. This generally means you'll need to edit roxygen2 comments in an .R, not a .Rd file. You can find the .R file that generates the .Rd by reading the comment in the first line of the .Rd file in the /man directory.

Big changes

If you want to make a bigger change, it's a good idea to first file an issue and make sure someone from the team agrees that it’s needed. Any of the following counts as a big change:

New features

You can suggest an idea for a new feature/enhancement. Please provide as much detail of its use case as possible. As an example, see this extensive issue about making the model outputs S3 classes.

Bugs

If you have found a bug, ideally illustrate it with a minimal reprex (this will also help you write a unit test, if you opt to fix it yourself). Here is an example of a bug report.

Vignettes

If you find an issue with existing vignettes or would like to help improve them, outline the suggested changes in the submitted issue for discussion with the team. Use the various GitHub markdown features to (cross)reference lines, highlight suggested deletions/additions, etc.

For new vignettes, please provide an outline of the vignette to be discussed with the team first. Since the models in EpiNow2 have long run times in most cases, we pre-compile the vignettes before merging. Please follow this guide on how to precompute vignettes or pkgdown articles. Here is an example where new pre-compiled vignettes were submitted.

Pull request process

# if python is not installed on your system
install.packages("reticulate")
reticulate::install_miniconda()
# install precommit if not already installed
precommit::install_precommit()
# set up precommit for use
precommit::use_precommit()

What happens after submitting a PR?

Code style

Code of Conduct

Please note that the EpiNow2 project is released with a Contributor Code of Conduct. By contributing to this project you agree to abide by its terms.



epiforecasts/EpiNow2 documentation built on May 13, 2024, 3:11 a.m.