Thank you for taking the time to contribute!
Any contributions to this project are welcome and encouraged, regardless of programming expertise. If you're not sure where to start or how contributing works, you can refer to these articles which may give you some useful pointers and insights.
Before you jump the gun, we ask that you first and foremost check the following feeds to see if your issue has already been addressed or resolved:
- Issues: bug reports, feature requests
- Discussions: feedback, support, etc.
If you issue has already been listed, you're welcome to add a comment if you have any additional context to contribute!
When creating a new issue, please use the corresponding templates to better organize the context surrounding your issue and make it as easy as possible for maintainers to address your issue in a timely manner.
This project is bootstrapped with a modified Vite + React + Typescript template.
- Node.js (LTS is recommended)
- Visual Studio Code
- Install Node.js and Visual Studio Code if you haven't already.
- Create a new fork of the repository and clone it to your local machine.
- Create a new dedicated branch and sync it to your workspace.
- If you're using Visual Studio Code, install the recommended workspace extensions (the editor should prompt you to do so). This will enable useful integrations for your workspace.
- Open a new terminal in your cloned directory and run
yarn install
. This will install all necessary dependencies to bundle the application. - Make your changes! You can run
yarn dev
to start a local development environment oryarn build
+yarn preview
for a production environment. - Once the server is running, you can open the
localhost
link that appears in console to access the app on your local machine.
Pre-commit hooks are configured via lefthook to run linters/formatters automatically before making commits to the repository.
These hooks are not enabled by default, but you can run yarn lefthook install
to enable them for your workspace.
If you think you're ready to make a pull request, be sure to run through the following checklist to ensure your code is production-ready:
- If you did not activate the available git hooks for your workspace, run the following command to manually run the linter/formatter on your changes:
yarn check --write {files}
. - Run
yarn test run
to ensure all unit tests are passing. - Make a production build for your application (
yarn build && yarn preview
) and ensure your changes are stable and no critical errors are present. - Review your changes, and run
yarn version <major|minor|patch> --deferred
to add a changeset. This will make it easier for maintainers to integrate your changes properly for a future release.- Use
patch
if your changes are strictly stability or performance improvements. - Use
minor
if new features are added and/or non-breaking changes are introduced. - Use
major
for any and all breaking changes (i.e. localstorage, redux state, etc).
- Use
Once submitted, a maintainer will review your pull request and, once approved, integrate your changes into a staging branch for future release.