Contributing to fastsemR
Source:CONTRIBUTING.md
Thanks for your interest in fastsemR. This document describes how to file issues, contribute code, and where to direct questions.
Where to file an issue
There are two related repositories:
fastsemR (this repo) — the R package,
umx/ OpenMx bridge, syntax translators, and R-side tests. File issues here for: bugs in the R API, unexpectedsummary()output, problems withrun_fastsem(), installation issues on Windows / macOS / Linux, documentation, vignettes. → https://github.com/lf-araujo/fastsemR/issuesfastsem — the underlying Nim SEM engine. File issues there for: numerical results, optimiser convergence, GPU / OpenCL kernels, performance, or the lavaan-style syntax parser. → https://github.com/lf-araujo/fastsem/issues
If you are not sure which side a bug lives on, file in fastsemR and we will move it if needed.
Reporting a bug
A useful bug report includes:
- The output of
sessionInfo()orutils::sessionInfo(). - The fastsem engine version reported by
getOption("fastsem.version")after the package loads. - A minimal reproducible example — ideally one that fits in ~20 lines and uses simulated data or a built-in dataset.
- The full error message and traceback (
traceback()after the failure, oroptions(error = recover)).
Submitting a pull request
- Fork the repository and create a feature branch off
main. - Run
R CMD checklocally; the GitHub Actions workflow runs the same checks on Linux, macOS, and Windows for every PR. - Add or update tests under
tests/testthat/for any change in behaviour. We use the testthat 3rd edition. - Update
NEWS.mdunder “fastsemR (development version)” with a one-line user-facing summary of the change. - Open a PR against
main. Small, focused PRs are easier to review than large ones.