codecheck is an R package to assist codecheckers in creating CODECHECK-ready workspaces and conducting codechecks. This package focuses on the technical workflow for codecheckers using R. It also contains helper functions for managing the CODECHECK register.
For general information about the CODECHECK initiative and community processes, visit https://codecheck.org.uk/.
Installation
The package is not on CRAN yet. Install the current version from GitHub with:
# install.packages("remotes")
remotes::install_github("codecheckers/codecheck")Quick Start
For first-time codecheckers using this R package:
- Fork the research repository - Fork to the codecheckers organization on GitHub
- Clone and navigate to the repository root - Run R from the top-level directory of the research project
-
Create CODECHECK files - Run
codecheck::create_codecheck_files()to generate:- A
codecheck.ymlconfiguration file with metadata (certificate ID, authors, manifest, etc.) - A
codecheck/directory with report templates
- A
-
Define the manifest - List all computational outputs (figures, tables, data files) that you’ve successfully reproduced in the
manifestsection ofcodecheck.yml - Complete the certificate - Fill in the report template and render it
-
Create a record on Zenodo (or OSF, or ResearchEquals) and submit the draft for feedback to your CODECHECK editor/contact person, e.g., via a sharing link or the CODECHECK Zenodo community; push the
codecheck.ymlto the repository
Key Concepts
- Certificate - The final report documenting your CODECHECK, which includes metadata, the manifest, and your assessment.
- codecheck.yml - The configuration file containing all CODECHECK metadata (paper details, authors, manifest, etc.)
-
Manifest - A list of computational output files (figures, data files, tables) that you have successfully reproduced during the CODECHECK. Each manifest entry includes the file path and a brief description. The manifest is defined in the
codecheck.yml.
Usage
See the getting started guide for step-by-step instructions on using the template and the workflow descriptions on the overall procedures.
Note on certificate templates: The R Markdown template created by this package can be used in multiple ways:
- Execute code in various languages (R, Python, bash, etc.) using knitr’s language engines
- Simply write your certificate narrative without executing any code
- Mix both approaches as needed
If you prefer working with Jupyter Notebooks (especially for Python-based projects), see the Python CODECHECK template based on a Jupyter Notebook.
Development
The package uses tinytest for tests. Run test_all("/path/to/package") to run all tests interactively. Even better, run the tests in a fresh install and temporary directory using
# assuming . is the package path
library(tinytest)
build_install_test(".")Contribute
All contributions are welcome! See CONTRIBUTING.md for details.
Code of Conduct
Please note that the codecheck project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.