## Rules

When contributing to this project, you:
  1. MUST have authored the submitted content.
  2. MUST have the rights and permissions to submit the content.
  3. MUST treat other humans with respect. This includes, at a minimum, members of this community and those of related (even competing) projects.
  4. MUST NOT submit content that violates our [license](./LICENSE).
  5. MUST NOT submit content generated by AI or LLM.

Violations may result in, but are not limited to: submissions being ignored or closed, content being reported or removed, a ban from our community, etc.

## Developer Guide

### Verify changes

This project uses a client-side [git hook](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks) instead of a CI server to verify changes before they are pushed.

You may setup the git hook with a single command:
```sh
git config --local core.hooksPath .githooks/
```

### Releasing

0. If this is a hotfix, branch off the previous release (`git switch -C hotfix/v0.5.1 tags/v0.5.0`)
1. Update the version in `Cargo.toml`.
2. Check the `CHANGELOG.md`.
3. Commit/Push the changes.
4. Create/Push an annotated tag (with the SHA of the last commit): `git tag -a v0.2.1 aa15cb8473 -m "v0.2.1" && git push --tags origin`.
5. Publish to crates.io: `cargo publish`.
