Contributing

Contributing to hsh

A summary of the project's contributing guide; the guide in the repository is the reference.

Filing an issue

Search the issue tracker first. A useful report says what you were doing, what you expected, what happened, the version (hsh --version or the one in your Cargo.toml) and the smallest input that reproduces it. Security reports go through the private channel on the security page, never the public tracker.

Sending a pull request

git clone https://github.com/sebastienrousseau/hsh.git
cd hsh
make ci   # fmt, clippy, tests and docs, as CI runs them
  • Use Conventional Commits, such as fix(api): ... or feat(cli): ..., and keep each pull request focused.
  • New behaviour comes with a regression test next to it, under crates/*/tests/.
  • Read the repository's API stability document before changing a public item.
  • rustfmt and clippy -D warnings must pass; an #[allow(...)] needs a comment explaining it.
  • #![forbid(unsafe_code)] applies to every crate, and clippy.toml bans random sources other than the operating system's.
  • Do not skip hooks or CI.

The full guide is CONTRIBUTING.md.

Improving this website

The source of hshlib.com is in the hshlib.github.io repository. Report a mistake on the site there, or through the contact page.