# Contributing - Open an issue before creating a PR. It's best to discuss possible solutions before implementing them. A lot of work can be wasted otherwise. - Update [`CHANGELOG.md`](./CHANGELOG.md). It's hard to keep track of updates by commits in `main`. - Check the code compiles and runs. - Add tests to demonstrate the contribution is correctly implemented. Include at least - Positive tests, showing the happy path(s) - Negative tests, featuring intentionally broken cases