After cloning, install the repo’s git hooks (one-time, per clone):
This wires up:
styler on staged R files (matches the CI style pass) and refuses to commit anything under dev/.pkgbuild::compile_dll() when pushed commits touch src/, and devtools::document() when they touch R/ (aborts the push if the regenerated man/ or NAMESPACE differ from what’s committed).fix/... — bug fixesfeat/... — new featuresrefactor/... — code restructuring without behavior changedocs/... — documentation onlytest/... — tests onlyThe full test suite is run on the Tanay Lab cluster (some tests require cluster-only data and resources). For external contributions, run the subset relevant to your change locally and rely on CI for the rest.
# run a single test file
testthat::test_file("tests/testthat/test-foo.R")
# run everything available locally, in parallel (some tests will skip
# without cluster-only data)
Sys.setenv(TESTTHAT_PARALLEL = "TRUE")
devtools::test()GitHub Actions runs R CMD check on every push and PR — treat that as the authoritative signal.
Compile after C++ changes:
pkgbuild::compile_dll(debug = FALSE)Regenerate documentation:
devtools::document()