Development is a community effort, and we welcome participation.
Please note that this package is released with a Contributor Code of Conduct.
At https://github.com/ropensci/targets/discussions, you can post general questions, brainstorm ideas, and ask for help. If you are asking for help about a specific issue, please first read https://books.ropensci.org/targets/help.html.
https://github.com/ropensci/targets/issues is for maintenance tasks feature requests. When you post, please abide by the same guidelines as https://books.ropensci.org/targets/help.html.
External code contributions are extremely helpful in the right circumstances. Here are the recommended steps.
- Prior to contribution, please propose your idea in a discussion thread so you and the maintainer can define the intent and scope of your work.
- Fork the repository.
- Follow the GitHub flow to create a new branch, add commits, and open a pull request.
- Discuss your code with the maintainer in the pull request thread.
- If everything looks good, the maintainer will merge your code into the project.
Please also follow these additional guidelines.
- Respect the architecture and reasoning of the package. Depending on the scope of your work, you may want to read the design documents (package vignettes).
- If possible, keep contributions small enough to easily review manually. It is okay to split up your work into multiple pull requests.
- Format your code according to the tidyverse style guide and check your formatting with the
lint_package()
function from thelintr
package. - For new features or functionality, add tests in
tests
. Tests that can be automated should go intests/testthat/
. Tests that cannot be automated should go intests/interactive/
. For features affecting performance, it is good practice to add profiling studies totests/performance/
. - Check code coverage with
covr::package_coverage()
. Automated tests should cover all the new or changed functionality in your pull request. - Run overall package checks with
devtools::check()
andgoodpractice::gp()
- Describe your contribution in the project's
NEWS.md
file. Be sure to mention relevent GitHub issue numbers and your GitHub name as done in existing news entries. - If you feel contribution is substantial enough for official author or contributor status, please add yourself to the
Authors@R
field of theDESCRIPTION
file.