Contributing to heteroTests
Source:CONTRIBUTING.md
We welcome contributions in the form of pull requests or issue reports.
Workflow
- Fork the repository and create feature branches from
main. - Restore development dependencies by running
./setup.shand then executeR CMD check --no-manual. - Build the docs with
pkgdown::build_site()to verify examples render. - Add unit tests for any new functionality and update relevant docs.
To run style checks, unit tests and coverage in one step, first run ./setup.sh to install the development packages (including quickcheck) and then execute:
Run lintr::lint_package() to ensure the code matches the .lintr style configuration before submitting.
Code should follow the tidyverse style guide and respect CRAN policies (no unchecked warnings or notes from R CMD check).
All R source lives directly in R/, one file per diagnostic, named after the function it defines (for example R/performBPTest.R). There are no subdirectories.
Documentation, and a warning about roxygen2
man/ is mixed: roxygen2 generated 78 of the 130 pages and the other 52 were written by hand.
The hand-written pages are not at risk of being overwritten. roxygen2 skips any .Rd that lacks its Generated by roxygen2 header, printing Skipping <file>: it already exists and was not generated by roxygen2. That applies whether or not the function still carries roxygen comments – 47 of the 52 do, and all 52 survive a roxygenise() run byte-identical.
Running roxygen2::roxygenise() is still disruptive, for a different reason: it re-splits topics that the hand-maintained pages deliberately group together. On the current tree it writes 14 new files and deletes one (ht_logging.Rd, which documents the whole ht_* logging family under a single topic). Do not run it as part of an unrelated change.
When you change a function signature, update its .Rd file in the same commit. Nothing regenerates it for you. tests/testthat/test-documentation-consistency.R runs tools::codoc(), tools::checkDocFiles() and tools::undoc() so the local test suite catches the mismatch before CI does.
If R CMD check fails with command not found you need to install R and ensure the R executable is available. Consult your package manager or visit https://cran.r-project.org for installation instructions.
Continuous integration runs R CMD check automatically for every pull request via GitHub Actions, so make sure the checks pass locally before submitting.
Please open an issue to discuss substantial changes or cross-language API additions. Pull requests should include a concise description in the body and reference any related issues.