Skip to content

Latest commit

 

History

History
36 lines (24 loc) · 2.78 KB

CONTRIBUTING.md

File metadata and controls

36 lines (24 loc) · 2.78 KB

Contributing

Development is a community effort, and we welcome participation.

Code of Conduct

Please note that this package is released with a Contributor Code of Conduct.

Discussions

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.

Issues

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.

Development

External code contributions are extremely helpful in the right circumstances. Here are the recommended steps.

  1. 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.
  2. Fork the repository.
  3. Follow the GitHub flow to create a new branch, add commits, and open a pull request.
  4. Discuss your code with the maintainer in the pull request thread.
  5. 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 the lintr package.
  • For new features or functionality, add tests in tests. Tests that can be automated should go in tests/testthat/. Tests that cannot be automated should go in tests/interactive/. For features affecting performance, it is good practice to add profiling studies to tests/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() and goodpractice::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 the DESCRIPTION file.