/sinew

Generate roxygen2 skeletons populated with information scraped from the function script.

Primary LanguageROtherNOASSERTION

CRAN_Status_Badge R-check build status Coverage Status Covrpage Summary

Sinew

Sinew is a R package that facilitates R package documentation and namespaces managment for developers of all levels.

tldr

What can it do?

  • Programatically attach namespaces to functions in R and Rmd script
  • Generate Roxygen2 skeletons populated with information scraped from within functions
  • Populate the Imports field of the DESCRIPTION file.

Installation

CRAN

install.packages('sinew')

DEV

install.packages('remotes')
remotes::install_github('yonicd/sinew')

More Details

At the core of creating reproducible research is the daunting process of documentation, and working with R presents no exception. The standardized R package documentation is part of the appeal for new (and experienced) users, where concise, clear instructions are cherished. Packages are great for reusing scripts in a consistent fashion and for developers, package creation helps organizing and maintaining their ideas.

The barrier to entry for package maintenance and documentation, however may be too high for R users embarking on the task of package creation, thereby discouraging them from development. The out-of-the-box roxygen2 skeleton supplied by RStudio gives the bare bones road map of what should be part of function documentation.

The goal of sinew is to automate nearly all of the manual tasks needed to document functions, properly set up the import fields for oxygenation, and make it easier to attain documentation consistency across functions and packages.

Once the initial documentation is set, sinew can be used as part of the natural maintenance workflow to automatically change and append updated parameters, definitions, defaults, add namespacing to functions and dependencies, making your documentation great - again!

sinew is built for both command line and interactive users through a Shiny gadget that can be called from the addin menu. The addin can be used on any function either installed, in the search path, one you just wrote, or one your need to update.