expertIdiomatic R for general scripts and analysis code: base R and tidyverse style, vectorization, the native pipe and \(x) lambdas (with R version conditions), cli-based errors, formatter choice, and performance/IO tools. Use for writing, reviewing, or debugging R code that is not specifically a package
lib-cli-appBuild command-line apps in R using the Rapp package. Use when creating a CLI tool in R, adding argument parsing to an R script, turning an R script into a command-line app, shipping CLIs in an R package, or using Rapp (the alternative Rscript front-end). Also use for shebang scripts, exec/ directory
lib-cliWrite R code that reports to users with cli: errors, warnings, and messages via cli_abort()/cli_warn()/cli_inform() (with call = caller_env() in helpers), inline markup such as {.arg}/{.val}, pluralization with {?s} and qty(), progress bars, semantic output, themes, and snapshot tests of cli output.
lib-cran-extrachecksPrepare an R package for CRAN submission or resubmission, or answer CRAN reviewer feedback, by checking what `devtools::check()` does not: Title and Description wording, `\value`/`@return` and examples, `\dontrun{}`, URLs and file URIs, `cph` roles, LICENSE year, and method references. Distinguishes
lib-lifecycleDeprecate, rename, supersede, or mark R package functions and arguments as experimental with the lifecycle package: deprecate_soft()/deprecate_warn()/ deprecate_stop(), deprecated() and is_present(), lifecycle badges, the release-time deprecation sweep, and testing deprecation warnings. Use for any
lib-miraiWrite and fix async, parallel, and distributed R code with the mirai package: mirai(), daemons(), mirai_map(), everywhere(), explicit dependency passing, error values, Shiny ExtendedTask and promises, remote/HPC daemons, and migration from future, furrr, or parallel. Use for parallelising R loops or
lib-package-devDevelop and maintain R packages: create a package, add functions and dependencies, document with roxygen2, run the devtools load/test/document/ check loop, format with the project's formatter (air or styler), and write NEWS.md entries. Start here for general R package work; it routes testing, cli me
lib-testingWrite, organize, and debug testthat (3rd edition) tests for R packages: test_that()/describe(), expectations, snapshot tests, fixtures and test_path(), helper vs setup files, mocking with local_mocked_bindings(), withr cleanup, skips, and which testthat version a feature needs. Use for tests/testtha