We welcome contributions! If you haven't already, watch the CLI Getting Started Video for how we want the project to be setup and take a look at the conventions below to get started contributing.
- 🙏 Thank you for your help! Your contributions will motivate developers to do greater things!
- 🥇 Keep it simple. We don't need optimizations right now. We need features!
- 🤖 Built by devs for devs so if you want to make a change to make things better, do it! Make a PR and let rphovley know to review it. If it's a big change, a heads up before you start will save some heartache.
- Have Chrome & Firefox installed
- npm install
- npm run dev
- npm run browsers
- All files should be typescript and avoid
anytypes within reason - Components should be functional and the name should be PascalCase
- Any api calls should be included in the
apidirectory and make use of tanstack - All components should reside in the
componentsdirectory. - Styling: make use of the
sxattribute for any material-ui customizations. - Styling: make use of the appropriate material-ui components for layouts like
GridorStackwhen possible, butBoxis a great fallback - Styling: when needing to do your own work with
Boxfor layouts, make use offlexinstead of other css layout types where possible - Use tanstack store for global state management so we can easily sync state between popup/options/external react-code.
- For debugging in Chrome, you can turn on the "Developer Mode" in the extensions page and then click on "Details" -> toggle on "Collect Errors". Then if you return to the extensions home page, you will see an "Errors" button on the extension.
