What problem does it solve?
It prevents broken or inconsistent R package development by enforcing a repeatable edit-document-check-commit workflow and strong conventions for dependencies, versioning, documentation, and releases.
Core Features & Use Cases
- Edit → Document → Check discipline: Regenerate roxygen2 outputs with devtools::document() and require devtools::check() to pass with 0 errors and 0 warnings before committing.
- Correct NAMESPACE and roxygen2 practices: Use @export and roxygen tags (e.g., @param, @return, @examples) while letting roxygen2 generate NAMESPACE.
- Dependency and versioning rules: Use pkg::fn() for imports and follow strict semantic versioning with a 3-part x.y.z format; manage Imports vs Suggests correctly via usethis::use_package().
- Release and CI workflow: Follow a structured release sequence (build readme, check, tag, GitHub release) and rely on GitHub Actions for pkgdown.
Quick Start
Use the developing-r-packages skill to update an R package by running the edit-document-check cycle with roxygen2, enforcing dependency/versioning rules, and producing a release that passes R CMD check before tagging and publishing.