Contributing to ggindex
Source:.github/CONTRIBUTING.md
There are many ways to contribute to ggindex. Some are quick (fixing typos, improving documentation, filing bug reports or feature requests), others take more time (answering questions, submitting pull requests with code changes). Help in any form is appreciated.
Filing issues
If you believe you found a bug, create a minimal reprex and post it to the issue tracker. Include only the code needed to reproduce the bug. A good reprex cuts down the back-and-forth needed to understand and run the problem.
Answering questions
Answering questions is a great way to help. Questions are filed with the Question issue template. If you don’t know the full answer, a partial one or a pointer to the relevant documentation is still useful. Be kind to everyone who asks.
Making pull requests
Before opening a pull request (PR), please file an issue and describe the problem in some detail. For an enhancement, explain how the change makes things better for package users. For a bug fix, explain the bug and how the fix removes it, ideally with a reprex. This upfront work opens a conversation that often leads to a better fix.
Once there is agreement that a PR would help, the following makes things go faster:
- Create a separate Git branch for each PR.
- Use a Conventional Commits PR title (e.g.
fix: ...,feat: ...,docs: ...). Releases andNEWS.mdare generated from these by release-please, so don’t editNEWS.mdorCHANGELOG.mdby hand. - Format code with air (
air format .) and lint it with jarl (jarl check .). Both run on every PR. - Documentation uses roxygen2. Edit the roxygen comments in
R/and rundevtools::document(). Don’t modify the.Rdfiles inman/by hand. - Add testthat tests for new functionality or fixed bugs. PRs with tests are easier to accept.
- Run
devtools::check()before submitting, and check the GitHub Actions results on the PR. CI runs R CMD check with--as-cran, which also runs the examples inside\donttest{}.
AI-assisted contributions
Contributions made with the help of AI coding assistants are welcome. We follow the spirit of the Linux kernel’s guidelines for AI coding assistants:
- The human submitting the PR is responsible for the contribution: review all AI-generated code, make sure it works and that you understand it.
- Disclose AI use in the PR description using the section in the PR template.
- Attribute AI help in commit messages with an
Assisted-by:trailer, for exampleAssisted-by: Claude Opus 5.5 <noreply@anthropic.com>. Do not useCo-Authored-By:orSigned-off-by:for AI tools; only humans can take authorship and certify a contribution.