Thanks for helping out! Questions and ideas are welcome in GitHub Discussions, and bugs in the issues.
Setting up
rpix is developed in its own Pixi environment, defined in pixi.toml. Its default feature has R and rpix’s dependencies, the packages in DESCRIPTION’s Imports. Its dev feature has the tools for developing rpix (devtools, roxygen2, testthat, covr, pkgdown, quarto and air), which users don’t get. The default environment has both.
- Install Pixi.
- Clone the repository. Pixi installs the environment the first time you run a task.
Tasks
Run these in a terminal in the repository:
| Task | Does |
|---|---|
pixi run document |
Regenerates man/ and NAMESPACE from the roxygen comments |
pixi run test |
Runs the tests |
pixi run check |
Runs R CMD check
|
pixi run coverage |
Measures test coverage, and opens a report of uncovered lines |
pixi run format |
Formats the code with air |
pixi run readme |
Renders README.md from README.qmd
|
pixi run site |
Builds the pkgdown site |
pixi run preview |
Builds the site and serves it at http://127.0.0.1:8000 |
In an IDE
-
Positron: the repository turns on Positron’s Pixi discovery in
.vscode/settings.json. Pick R (Pixi: default) in the interpreter picker, and usedevtools::load_all()and friends, or their shortcuts (Cmd/Ctrl+Shift+L, T, D), as usual. - RStudio or VS Code: see Using rpix with an IDE.
Pull requests
-
Every new or changed line is covered by tests. Codecov checks this on each pull request;
pixi run coverageshows what isn’t covered. -
Code is formatted with air, which is checked on each pull request. Run
pixi run format, or comment/styleon the pull request. -
man/is generated. Edit the roxygen comments and runpixi run document, or comment/documenton the pull request. -
NEWS.mdis written for users, in the tidyverse style. Add a bullet under# rpix (development version)for each user-facing change. -
Pull request titles are Conventional Commits, e.g.
feat: add pixi_sitrep()orfix: ....
Releasing
- Set the version in
DESCRIPTIONand in.claude-plugin/plugin.json, date theNEWS.mdheading, and renderREADME.md(pixi run readme). - Re-read the agent skill (
skills/rpix/) against what changed, and check it:claude plugin validate .andskills-ref validate skills/rpix. Run the evals (claude plugin eval . --scaffold) when the skill changes. - After the release, set both versions to the next
.9000.