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.
# Put raw data in _raw_data/, outputs in _output/, analysis docs in project root:
projr_build()
This one function:
_output directoryprojr_build_dev()
Development builds:
_tmp/) for inspectionprojr_restore_repo("owner/my-amazing-repo")
Restoration:
Code and data availability: Automatic archiving to GitHub Releases or OSF makes sharing complete research projects effortless
Correctness via version-linked inputs/outputs: Manifests link every output to the exact version of raw data and code that created it, ensuring traceability
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.
# 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'))
If you encounter a bug or have a feature request, please file an issue.
See LICENSE file for details.