Tridactyl is very lucky to have a wide base of contributors, 30 at the time of writing, with contributions ranging from a single line to thousands. The purpose of this guide is to help you contribute to Tridactyl according to how much time and experience you have.
- Leave a review on addons.mozilla.org (very few people do this :( )
- Tell your friends about us :)
- Read through readme.md, our newtab.md or our page on addons.mozilla.org and see if anything looks out of date. If it does, file an issue or fork the repository (button in top right), fix it yourself (you can edit it using the pencil icon), and make a pull request.
- Run through
:tutor
and tell us what you think or make changes directly.
- Take a look through the open issues and then check with pull requests to make sure that someone isn't already working on it. Please post in an issue to say that you're working on it.
- If you don't have much experience with JavaScript or WebExtensions, we purposefully leave some particularly simple issues open so that people can get started, and give them the tag good first issue. Feel free to ask us any questions about the build process on Matrix.
- If you have experience with JavaScript or WebExtensions, please look through the issues tagged help wanted as we're really stuck on them.
- You could work on some feature that you really want to see in Tridactyl that we haven't even thought of yet.
- Our build process is a bit convoluted, but excmds.ts is probably where you want to start. Most of the business happens there.
- We use TypeDoc to produce the
:help
page. Look at the other functions in excmds.ts to get an idea of how to use it; if your function is not supposed to called from the command line, then please add/** @hidden */
above it to prevent it being shown on the help page. - Our pre-commit hook runs prettier to format your code. Please don't circumvent it.
If you are making a substantial or potentially controversial change, your first port of call should be to stop by and chat to us on Matrix or file an issue to discuss what you would like to change. We really don't want you to waste time on a pull request (GitHub jargon for a contribution) that has no chance of being merged; that said, we are probably happy to gate even the most controversial changes behind an option.