We love code contributions to the add-ons ecosystem! Below you'll find ways to contribute code, and information on the onboarding process. Onboarding helps ensure you are getting the most out of your experience working with other staff and volunteer developers. Once you're familiar with the dev environments, please pick a "Good First Bug" to get started.
- 1 Step 1: Create some accounts
- 2 Step 2: Tell us a little about yourself
- 3 Step 3: Decide how you'd like to help
- 4 What's Next?
Step 1: Create some accounts
Please create accounts on the following sites, if you haven't already:
- Be sure to set a [:nick] for your account, for example your nickname on Matrix. Go to https://bugzilla.mozilla.org/userprefs.cgi?tab=account and in the "Your real name" field, add it next to your name. Example: Andreas Wagner [:theone]
Step 2: Tell us a little about yourself
Please fill out a short survey so we can better connect you to the right opportunities. We may reach out to you if there is a particular project that fits your skills, but in the meantime please move on to step #3.
Step 3: Decide how you'd like to help
Improve add-ons in Firefox
Add-ons make Firefox the most extensible browser available. Your contributions help support user freedom!
Contribute to WebExtensions APIs
WebExtensions APIs are the standard for add-on development in Firefox. It seeks to unify the extension APIs and architecture with those of other browsers in the name of interoperability and modern architecture.
Good First Bugs
If you'd like to contribute to the WebExtensions API and are new to the Firefox code base, we recommend getting started with a good-first-bug.
You may also want to read this blog post for tips on how to contribute to the WebExtensions API.
Develop WebExtensions APIs
- If you're experienced with Mozilla infrastructure and would like to develop WebExtensions APIs directly for Firefox, here is a list of approved APIs that you can start contributing to.
- If you want to tinker with WebExtensions APIs without having to build Firefox, WebExtensions Experiments is for you!
- If you simply want to request a WebExtensions API, please read this information before filing a bug.
Contribute to the Add-on Manager
The add-on manager is an integral part of the end-user's experience with addons.mozilla.org
- Familiarize yourself with the on-boarding materials: Onboard to Firefox codebase
- Pick a "Good First Bug" to work on
Improve addons.mozilla.org (AMO)
addons.mozilla.org, commonly known as "AMO," is Mozilla's official site for developers to list add-ons, and for users to discover them.
Contribute code to AMO
- Familiarize yourself with the on-boarding materials: Webdev Bootcamp
- Set up a development environment on your local machine: Our documentation provides step-by-step instructions on how to set up your local development environment. Be sure to also review the README files in the repository you are working from for other instructions to set up your dev environment. If you run into any issues or have questions, please go here for help. Or, jump into the AMO room on Matrix.
- Select a "Good First Bug" to work on. These bugs are mentored and they are a great way to get a feel for things. Note: bugs marked `contrib: welcome` are slightly harder than issues marked `contrib: good first bug.` We're also not able to provide as much hands-on mentorship for issues labled `contrib: welcome.`
When your first pull request is merged, please report it here so we can properly celebrate your first contribution!
Pick another bug
Select another “good first bug” to get more practice, or move on to a “good second bug”!
You can also look for bugs with the label "contrib: welcome" on Github.
Please feel free to reach out to one of our community mentors! The two best ways to reach out are:
- chat.mozilla.org- Add-ons room; staff members will either be marked as an admin or a moderator, plus there are lots of other friendly members in the community who can help answer your question
- Code contributor forum: https://discourse.mozilla-community.org/c/add-ons/contribute