Contributing
Contributions are welcome. The repository’s CONTRIBUTING.md is the source of truth; this is the summary.
Before you start
Section titled “Before you start”pkgr has a deliberate budget: it is a tiny binary with one dependency per platform. A change that adds a dependency or noticeably grows the binary needs a good reason: see the Floppy Rule and Size. For anything bigger than a fix, open an issue first so we can agree the shape.
Build and test
Section titled “Build and test”./build.sh # Linux and macOS./build.ps1 # WindowsEach script runs cargo fmt --check, clippy with warnings as errors, and the tests, then builds with --locked. Run those three on their own while you work:
cargo fmt --checkcargo clippy --release --all-targets --locked -- -D warningscargo test --lockedCI runs the same gates on Linux, Windows and macOS for every pull request, and builds the release configuration too. See Building and Testing.
Pull requests
Section titled “Pull requests”- Branch from
mainand open the pull request againstmain. - Keep it focused: one change per pull request.
- Add or update tests for behaviour changes.
- Update the docs when behaviour changes (they live in
docs/), and add a line toCHANGELOG.mdunder the next version. - Check that the binary size did not grow without a reason.
Working on the docs
Section titled “Working on the docs”cd docsnpm installnpm run devnpm run build # also fails on broken internal linksPages are Markdown in docs/src/content/docs/. Diagrams are Mermaid blocks.
Releases
Section titled “Releases”Maintainers cut releases: see Releasing.
Funding
Section titled “Funding”Support the project: Buy Me a Coffee or GitHub Sponsors.