rOpenSci Packaging Guide

rOpenSci accepts packages that meet our guidelines via a streamlined onboarding process. To ensure a consistent style across all of our tools we have developed this concise guide. We strongly recommend that package developers read Hadley Wickham’s concise but thorough book on package development which is available for free online (and print).

Sections (in order of importance)

Package naming

Function/variable naming & general syntax


* The package name
* Badges for continuous integration and test coverage, the badge for rOpenSci peer-review once it has started (see below), and any other badges
* Short description of the package
* Installation instructions
* Brief demonstration usage
* If applicable, how the package compares to other similar packages and/or how it relates to other packages
* Citation information

where issue_id is the number of the issue in the onboarding repository. For instance, the badge for rtimicropem review uses the number 126 since it’s the review issue number. The badge will first indicated “under review” and then “peer-reviewed” once your package has been onboarded, and will link to the review issue.


Code of Conduct



foobar 0.2.0 (2016-04-01)


The DESCRIPTION file of a package should list package authors and contributors to a package, using the [email protected] syntax to indicate their roles (author/creator/contributor etc.) if there is more than one author. See this section of “Writing R Extensions” for details. If you feel that your reviewers have made a substantial contribution to the development of your package, you may list them in the [email protected] field with a Reviewer contributor type ("rev"), like so:

    person("Bea", "Hernández", role = "rev",
    comment = "Bea reviewed the package for ropensci, see <https://github.com/ropensci/onboarding/issues/116>"),

Only include reviewers after asking for their consent. Note that ‘rev’ will raise a CRAN NOTE unless the package is built using R v3.5 (r-devel as of 2017-09-21).

Please do not list editors as contributors. Your participation in and contribution to rOpenSci is thanks enough. 🙂



Continuous integration


Package dependencies

Console messages


This is a collection of CRAN gotchas that are worth avoiding at the outset.

Further guidance

Suggestions and updates