DevTools/GetInvolved
This page is the place to learn how to start contributing to the Firefox Developer Tools.
Firefox Developer Tools are themselves developed by the Mozilla community. We focus on building tools that enable web (and mobile web) developers, addon developers, and Firefox developers. We hope this page will help you become an active member of our community!
If after reading this wiki page, you still aren't sure what you're next steps are, reach out to us on IRC.
Communication
- Twitter: @FirefoxDevTools
- Mailing list: dev-developer-tools
- Blog (shared): Mozilla Hacks
- Weekly phone calls
On top of that, we make heavy use of IRC chat in our day to day development. If you haven't used IRC before, check out the guide to getting started with IRC.
We hang out in the #devtools channel at irc://irc.mozilla.org/devtools
If you have questions about a specific part of the code, here are some good people to ping:
- Debugger: past, vporof, fitzgen, jimb, robcee
- Inspector: dcamp, Optimizer
- Style Editor: harth
- Console: msucan, robcee
- Network Monitor: vporof, robcee
- Developer Toolbar: jwalker
- Profiler: anton, robcee
- Scratchpad: benvie, robcee, anton
Reporting Bugs and Requesting Features
To report a bug/usability papercut/etc, file a bug in the Developer Tools component on Mozilla's Bugzilla.
To request a smaller feature, file a bug in the Developer Tools component on Mozilla's Bugzilla.
To suggest a larger feature, gather use cases, user stories, a statement of the problem your feature is solving, etc and post them to the mailing list where we can flesh the feature out as a community.
Hacking
Getting the Source
Follow the instructions on how to build Firefox, except that you will need to use:
hg clone http://hg.mozilla.org/integration/fx-team
Instead of:
hg clone http://hg.mozilla.org/mozilla-central
Once you've already built Firefox once, and you just want to incrementally update your build with your latest developer tools changes, you can run:
$ ./mach build toolkit/devtools browser
Which is much faster and should only take a few seconds.
Resources
Here's a list of resources that you may find useful for hacking on DevTools. Feel free to add more if you find things are missing!
- MXR Code Search
- Mercurial FAQ
- mach
- Bugzilla 101
- Commit access policy
- Mozillians Directory
- Try Server
Mentored and Good First Bugs
List of available mentored and good first bugs
If you want to pick one of these up, feel free to ask for help in attacking the bug right in the bug itself, in #devtools on irc.mozilla.org, or on the dev-developer-tools mailing list!
One more useful link: all open developer tools bugs might have other items you'd find interesting to work on.
Running the Developer Tools Tests
We have two suites of tests:
- xpcshell: More unit-test style of tests. No browser window, just a JavaScript shell. Mostly testing APIs directly.
- mochitest: More of an integration style of tests. Fires up a whole browser window with every test and you can test clicking on buttons, etc.
xpcshell Tests
To run all of the xpcshell tests:
$ ./mach xpcshell-test toolkit/devtools
To run a specific xpcshell test:
$ ./mach xpcshell-test toolkit/devtools/path/to/the/test_you_want_to_run.js
Mochitests
To run the whole suite of mochitests for devtools (sit back and relax):
$ ./mach mochitest-browser browser/devtools
To run a specific tool's suite of mochitests:
$ ./mach mochitest-browser browser/devtools/<tool>
For example, run all of the debugger mochitests:
$ ./mach mochitest-browser browser/devtools/debugger
To run a specific mochitest:
$ ./mach mochitest-browser browser/devtools/path/to/the/test_you_want_to_run.js