Skip to content
Current release v0.0.2Release notesGitHub

Contributing

Contributions are welcome. The repository’s CONTRIBUTING.md is the source of truth; this is the summary.

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.

Terminal window
./build.sh # Linux and macOS
./build.ps1 # Windows

Each 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:

Terminal window
cargo fmt --check
cargo clippy --release --all-targets --locked -- -D warnings
cargo test --locked

CI runs the same gates on Linux, Windows and macOS for every pull request, and builds the release configuration too. See Building and Testing.

  • Branch from main and open the pull request against main.
  • 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 to CHANGELOG.md under the next version.
  • Check that the binary size did not grow without a reason.
Terminal window
cd docs
npm install
npm run dev
npm run build # also fails on broken internal links

Pages are Markdown in docs/src/content/docs/. Diagrams are Mermaid blocks.

Maintainers cut releases: see Releasing.

Support the project: Buy Me a Coffee or GitHub Sponsors.