Contributing to koma
Source:CONTRIBUTING.md
Thanks for your interest in contributing! This outlines how to propose a change.
Bigger changes
For anything larger (new features, behavior changes, bug fixes that touch estimation/forecasting logic), please open an issue first to discuss the approach before investing time in a PR.
Making changes
- Document exported functions with roxygen2 (markdown syntax is enabled); run
devtools::document()after editing@param/@return/etc. and commit the regenerated files inman/andNAMESPACE. - Add or update tests in
tests/testthat/for any behavior change. Tests use testthat 3e; wrap slow/full MCMC end-to-end tests withskip_on_cran(). - Add a bullet to the top (unreleased) section of
NEWS.mddescribing the change from a user’s perspective. Flag any breaking change explicitly.
Before opening a pull request
R CMD check should report 0 errors and 0 warnings (the CI workflow R-CMD-check.yaml runs the same check on push/PR).
Commit messages
This repo follows Conventional Commits:
<type>(<scope>): <summary> [#<issue>]
-
typeis one offeat,fix,perf,docs,test,refactor,chore. -
scopeis the affected area (e.g.estimate,forecast,readme). -
[#<issue>]is optional, for changes tied to a tracked issue.
Examples from the history: fix(estimate): support identity equations in any position [#137], perf(matrix-construction): use crossprod()/solve(A,B) in Gibbs-sampler [#21], docs(readme): use pak::pak() for dev install.
Pull requests
Describe what changed and why, link any related issue, and make sure CI (R CMD check, test coverage) passes. Squash or clean up the commit history if it accumulated a lot of “wip” commits along the way.
Release process (maintainers)
usethis::use_version()to bump the version inDESCRIPTION.Commit:
git commit -m "Incrementing version to x.x.x".-
Tag the release and move the movable
latesttag: Push commits and tags:
git push && git push origin --tags.