projr

What is projr?

From zero to repro in one build.

projr provides a single intuitive build function that automates rendering, versioning, archiving, and restoration for reproducible research projects. With projr, you can focus on your research whilst it handles the infrastructure.

The whole game

# Put raw data in _raw_data/, outputs in _output/, analysis docs in project root:
projr_build()

This one function:

Try a development build

projr_build_dev()

Development builds:

Restore later

projr_restore_repo("owner/my-amazing-repo")

Restoration:

Why it helps

  1. Code and data availability: Automatic archiving to GitHub Releases or OSF makes sharing complete research projects effortless

  2. Correctness via version-linked inputs/outputs: Manifests link every output to the exact version of raw data and code that created it, ensuring traceability

  3. Dependency capture: Optional renv integration locks R package versions for long-term reproducibility

Tip: You can adopt projr at any project stage—whether starting fresh or adding structure to existing work.

Note: Git/GitHub prompts are guided; no prior Git knowledge needed.

Installation

# Once on CRAN (future):
# install.packages("projr")

# For now, install from GitHub:
# remotes::install_github("SATVILab/projr")
install.packages("projr", repos = c('https://satvilab.r-universe.dev', 'https://cloud.r-project.org'))

Documentation

Getting help

If you encounter a bug or have a feature request, please file an issue.

Licence

See LICENSE file for details.