Hi there! I'm thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. So first of all: Thank you!
If you'd like to contribute in any shape or form, be it by either reporting or fixing a bug, requesting or implementing a new feature or just generally improving this project, please follow the process outlined below.
Contributions to this project are released to the public under the MIT License.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.
Note
Found a security vulnerability? Please follow the process outlined in SECURITY.md.
Do this step in any case - be it that you just want to report something, or if you want to implement a feature or fix yourself.
- Search the existing issues to see if someone else didn't already beat you to it. If you find a similar issue, you can upvote it with a 👍 reaction or add your comment.
- If no issue exists, create a new Issue to discuss the bug or feature with the community and me. Even if you would like to fix/implement it yourself, this is a good idea to avoid any unnecessary work on your side (in case I already implemented it or have some initial feedback about it).
If I ask you for a pull request, continue with the next steps.
You need to install NodeJS & NPM to be able to test your changes locally as part of the pull request (PR) submission process.
- Fork and clone the repository.
- Create a new branch:
git checkout -b my-branch-name
. - Configure and install the dependencies:
npm install
. - Make sure the tests pass on your machine:
npm run test
. - Make sure linter passes on your machine:
npm run lint
(powered by biome.js). - Make your change(s), add tests, and make sure the tests and linter still pass.
6.1. In case the linters fail, use
npm run lint:write
to automatically fix all automatically fixable issues. Fix the rest manually. - Push to your fork and submit a pull request.
- Pat your self on the back and wait for your pull request to be reviewed and merged.
Here are a few things you can do that will increase the likelihood of your pull request being accepted:
- Write tests.
- Keep the formatting in line with the biome.js rules. (Tip: You can run
npm run lint:ci
to check the formatting andnpm run lint:write
to automatically fix all automatically fixable issue.) - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as separate pull requests.
- Write a good commit message.
- Don't introduce any unnecessary dependencies. I try to keep this repository as free from dependencies as possible to avoid entering maintenance-hell as well as unnecessarily introducing supply-chain security-threats.