Contributing Guidelines
Source:CONTRIBUTING.md
Git structure
The active branch is development
. development
is merged into master
for releases. Please submit your pull requests to development
.
Repository structure
This repository is structured as a standard R package following the conventions outlined in the R Packages book. A few additional files are provided that are not part of the built R package and are listed in .Rbuildignore
.
Code
All code for this package is found in R/
. All functions should be thoroughly documented with roxygen2
notation; see Documentation. Code should conform to the tidyverse Style guide.
Testing
Any new feature or bug-fix should include a unit-test demonstrating the change. Unit tests follow the testthat
framework with files in tests/testthat
. Please make sure that the testing suite passes before issuing a pull request. This can be done by running check()
from the devtools
package, which will also check for consistent documentation, etc.
Documentation
All of the function documentation is generated automatically. Please do not edit any of the documentation files in man/
or the NAMESPACE
. Instead, construct the appropriate roxygen2 documentation in the function files in R/
themselves. The documentation is then generated by running the devtools::document()
function. Please consult the R Packages book if this workflow is unfamiliar to you. Note that functions should include examples in the documentation. Please use \dontrun
for examples that take more than a few seconds.
Similarly, the .md
files in the base directory should not be edited directly. Instead, edit the .Rmd
source files.
Dependencies
This package already contains a large number of dependencies (imports and suggests). Therefore, new packages should only be added when creating new features that cannot be reasonably achieved within the existing set of dependencies.
General Development Goals & Guidelines
- Contribute code to create, use, and convert hymetDP datasets.
- Maintain a consistent user-facing API.
Attribution
These contributing guidelines are based on those of the rOpenSci emld project.