Skip to contents

This outlines how to propose a change to autospc.

Suggesting changes

If you want to make a change, it’s a good idea to first file an issue and make sure someone from the team agrees that it’s needed. If you’ve found a bug, please file an issue that illustrates the bug with a minimal reprex (this will also help you write a unit test, if needed). There’s some really useful guidance on this here: how to create a great issue.

Pull request process

We use the forking workflow with contributors outside the team.

  • Fork the package and clone onto your computer. If you haven’t done this before, we recommend using usethis::create_from_github("{{github_spec}}", fork = TRUE).

  • Install all development dependencies with devtools::install_dev_deps(), and then make sure the package passes R CMD check by running devtools::check(). If R CMD check doesn’t pass cleanly, it’s a good idea to ask for help before continuing.

  • Create a Git branch for your pull request (PR). We recommend using usethis::pr_init("branch-name"). Name the branch “bugfix-brief-description-issueno” or “feature-brief-description-issueno”, where “issueno” is the GitHub issue number.

  • Make your changes, commit to git, and then create a PR by running usethis::pr_push(), and following the prompts in your browser. The title of your PR should briefly describe the change. The body of your PR should contain Fixes #issue-number.

  • For user-facing changes, add a bullet to the top of NEWS.md (i.e. just below the first header). Follow the style described in https://style.tidyverse.org/news.html.

Code style

  • New code should follow the tidyverse style guide. You can use Air to apply this style, but please don’t restyle code that has nothing to do with your PR.

  • We use roxygen2, with Markdown syntax, for documentation.

  • We use testthat for unit tests. Contributions with test cases included are easier to accept.

  • We use renv for dependency management. If your changes modifies dependencies, please discuss with us first, and be sure to renv::snapshot() to capture the changes.

Code of Conduct

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