# How to contribute **First:** if you're unsure or afraid of _anything_, ask for help! You can submit a work in progress (WIP) pull request, or file an issue with the parts you know. We'll do our best to guide you in the right direction, and let you know if there are guidelines we will need to follow. We want people to be able to participate without fear of doing the wrong thing. Below are our expectations for contributors. Following these guidelines gives us the best opportunity to work with you, by making sure we have the things we need in order to make it happen. Doing your best to follow it will speed up our ability to merge PRs and respond to issues. ## Testing The project has a handful of test cases which must pass for a contribution to be accepted. We also expect that you either create new test cases or modify existing ones in order to target your changes. You can run all the test cases by invoking `make test`. ## Submitting changes Please create a new PR against the `main` branch which must be based on the project's [pull request template](.github/PULL_REQUEST_TEMPLATE.md). Please follow the [Conventional Commits](https://www.conventionalcommits.org/) specification when naming your commits and/or PRs. ## Coding conventions We expect that all code contributions have been formatted using `gofmt`.