Contribution Guidelines
Source:.github/CONTRIBUTING.md
๐ Thank you for taking the time to contribute!
Your input is deeply valued, whether an issue, a pull request, or even feedback, regardless of size, content or scope.
Issues
We use GitHub to track issues, feature requests, and bugs. Before submitting a new issue, please check if the issue has already been reported. If the issue already exists, please upvote the existing issue ๐. If you are reporting a bug, please try to be as specific as possible in describing it and provide a minimal reproducible example (if possible).
For new feature requests, please elaborate on the context and the benefit the feature will have for users, developers, or other relevant personas.
Proposing changes to the code
This repository uses the Github flow model for collaboration. To submit a pull request:
-
Create a branch.
Please see the branch naming convention below. If you donโt have write access to this repository, please fork it.
-
Make changes.
Make sure your code:
- passes all checks imposed by GitHub Actions
- is well documented
- is well tested with unit tests sufficiently covering the changes introduced
-
Create a pull request (PR).
In the pull request description, please link the relevant issue (if any), provide a detailed description of the change, and include any assumptions.
Address review comments, if any (and let the reviewer know).
-
Receive an approval.
Merge your PR if you have write access. Otherwise, the reviewer will merge the PR on your behalf.
-
Pat yourself on the back.
Congratulations! ๐ You are now an official contributor to this project! We are grateful for your contribution.
Style guide
This repository follows the standard tidyverse
style guide and uses lintr
for lint checks. Customized lint configurations are available in this repositoryโs .lintr
file.
Updating stan models
The stan models contained in inst/stan
are not automatically updated to avoid taking a dependency on the rstantools
package.
After modifying or adding new models, run
rstantools::rstan_config()
and silence R/stanmodels.R
via capture.output()
.