Thanks for your interest. The short version: open an issue first, keep PRs small, run the checks before you push.
Filing an issue
-
Bug report — use the bug-report issue form. Include a minimal reprex (
reprex::reprex()), yoursessionInfo(), and the exact error message or unexpected output. - Feature request — use the feature-request issue form. Explain the intended use case before the proposed API.
Submitting a pull request
Fork + branch from
main. Branch names:feat/<slug>,fix/<slug>,docs/<slug>.One logical change per PR.
-
Run the full
/rpkg checkquality gate locally:devtools::document() devtools::test() devtools::check(args = "--as-cran") lintr::lint_package() covr::package_coverage() # must stay >= 85% Update
NEWS.mdunder# janusplot (development version)with a bullet describing the user-visible change, and link the PR/issue number.If you add or modify a public function, make sure the roxygen block has
@param,@returns, an executable@examples, and a@family/@seealsotag.Open the PR with the template pre-filled.
House style
- snake_case throughout (package, functions, arguments, files).
-
cli::cli_abort()/cli_warn()/cli_inform()with bare-symbol keys (i = ...), never"i" = .... -
rlang::arg_match()for enumerated arguments (neverrlang::match_arg— that function does not exist). -
withr::local_*when tests mutate global state. - Integer literals
1Lwhen semantically integer. - Australian English (
optimise,colour,behaviour).
Maintainer competence matrix
The package author maintains every language shipped in this repository. If a contribution introduces a language not listed below, please discuss in the linked issue before opening the PR — we may not accept a dependency we cannot review in-house.
| Language | Primary | Secondary | Notes |
|---|---|---|---|
| R | Max Moldovan (aut/cre) |
— | All package code lives under R/. |
| Rmd (vignettes) | Max Moldovan | — | Vignettes under vignettes/. |
| YAML (CI) | Max Moldovan | — |
.github/workflows/ + config files. |
No compiled code (C / C++ / Fortran / Rust) ships in this package. See adr/0003-imports-budget.md for the dependency budget and SUPPORT.md for maintenance-capacity disclosure.
Code of Conduct
Please note that the janusplot project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
