Bug 1508583 - Improve sections under getting started. r=ladybenko,Ola
authorsole <spenades@mozilla.com>
Tue, 22 Jan 2019 13:31:30 +0000
changeset 514826 3b3ceab396f650fb840b9e16e4e7018a0b628938
parent 514813 6557c7c9440b7d500a2b95608b3ab78f7556cbe5
child 514827 63d80647ebd20539391f9c7293b98d77cefeaec7
push id1953
push userffxbld-merge
push dateMon, 11 Mar 2019 12:10:20 +0000
treeherdermozilla-release@9c35dcbaa899 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersladybenko, Ola
bugs1508583
milestone66.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1508583 - Improve sections under getting started. r=ladybenko,Ola MozReview-Commit-ID: 9RRTngBSF2F Differential Revision: https://phabricator.services.mozilla.com/D13988
devtools/docs/README.md
devtools/docs/SUMMARY.md
devtools/docs/about-documentation.md
devtools/docs/contributing.md
devtools/docs/contributing/code-reviews-checklist.md
devtools/docs/contributing/code-reviews-find-reviewer.md
devtools/docs/contributing/code-reviews-setup.md
devtools/docs/contributing/code-reviews.md
devtools/docs/contributing/find-bugs.md
devtools/docs/contributing/fixing-bugs.md
devtools/docs/contributing/landing-code.md
devtools/docs/contributing/levelling-up.md
devtools/docs/contributing/making-prs.md
devtools/docs/getting-started/README.md
devtools/docs/getting-started/bugzilla.md
devtools/docs/getting-started/build.md
devtools/docs/getting-started/development-profiles.md
devtools/docs/getting-started/restart.png
--- a/devtools/docs/README.md
+++ b/devtools/docs/README.md
@@ -1,33 +1,21 @@
 # Firefox Developer Tools
 
+**NOTE:** This is the documentation *for working on* the Developer Tools. If you are looking for help with *using* the tools, please check out [the end user documentation](https://developer.mozilla.org/en-US/docs/Tools) instead.
+
+---
+
 **Hello!**
 
-This documentation is for developers who want to work on the developer tools. [Get started here](./getting-started/).
-
-If you are looking for end user documentation, check out [this MDN page](https://developer.mozilla.org/en-US/docs/Tools) instead.
-
-Happy developing!
+First of all, **thank you for making it this far!**
 
-## About this documentation
-
-This guide is built with MarkDown files and [GitBook](https://github.com/GitbookIO/gitbook).
+Developer Tools is a complex web application, and learning the code base will take some time, even if you're a very experienced contributor to other projects. 
 
-The source code for this documentation is distributed with the source code for the tools, in the `docs/` folder.
-
-If you want to contribute to the documentation, [clone the repository](./getting-started/build.md#getting-the-code), make your changes locally, and then regenerate the book to see how it looks like before submitting a patch:
+Likewise, getting and building the code locally, sending contributions for review, and other essential tasks can take a bit longer and be a bit different from what you're used to seeing.
 
-```bash
-# Install GitBook locally
-npm install -g gitbook-cli
+But there are good news: most of the initial, lengthy tasks don't need to be repeated once your computer is set up. And there's a huge infrastructure in place (both technical and people) to ensure that many commits can land into the Firefox repository with the peace of mind that the code is peer reviewed, can be built and passes the tests, in multiple configurations and operating systems.
 
-# Go into the docs directory
-cd /path/to/mozilla-central/devtools/docs/
+So don't be afraid of committing errors: you will. This is what happens to us all the time.
 
-# Generate the docs and start a local server
-gitbook serve
+It's a big system, and no one knows *absolutely everything*. What we do know is that we are not going to break Firefox. If we do something wrong, the system will let us know before we mess things up for real. Users won't ever notice, and you will learn a new thing.
 
-# You can now navigate to localhost:4000 to see the output
-
-# Or build the book only (this places the output into `docs/_book`)
-gitbook build
-```
+[Let's get started](./getting-started/).
--- a/devtools/docs/SUMMARY.md
+++ b/devtools/docs/SUMMARY.md
@@ -1,36 +1,41 @@
 
 # Summary
 
 * [Getting started](getting-started/README.md)
-  * [Where is the code?](getting-started/where-is-the-code.md)
-  * [Architecture overview](getting-started/architecture-overview.md)
-  * [Set up to build DevTools](getting-started/build.md)
-  * [Development profiles](getting-started/development-profiles.md)
+  * [Get a Bugzilla account](getting-started/bugzilla.md)
+  * [Get and build the code](getting-started/build.md)
+  * [Create a development profile](getting-started/development-profiles.md)
 * [Contributing](./contributing.md)
+  * [Find bugs to work on](./contributing/find-bugs.md)
+  * [How to fix a bug](./contributing/fixing-bugs.md)
+  * [Code reviews](./contributing/code-reviews.md)
+    * [Set up for code reviews](./contributing/code-reviews-setup.md)
+    * [Find a reviewer](./contributing/code-reviews-find-reviewer.md)
+    * [Send your code for review](./contributing/making-prs.md)
+    * [Reviews checklist](./contributing/code-reviews-checklist.md)
+  * [Landing code](./contributing/landing-code.md)
+  * [Levelling up](./contributing/levelling-up.md)
   * [Coding standards](./contributing/coding-standards.md)
     * [JavaScript](./contributing/javascript.md)
       * [ESLint](./contributing/eslint.md)
     * [CSS](./contributing/css.md)
-  * [Creating and sending patches](./contributing/making-prs.md)
-  * [Code reviews](./contributing/code-reviews.md)
   * [Filing good bugs](./contributing/filing-good-bugs.md)
   * [Investigating performance issues](./contributing/performance.md)
   * [Writing efficient React code](./contributing/react-performance-tips.md)
 * [Automated tests](tests/README.md)
   * Running tests
     * [`xpcshell`](tests/xpcshell.md)
     * [Chrome mochitests](tests/mochitest-chrome.md)
     * [DevTools mochitests](tests/mochitest-devtools.md)
   * [Writing tests](tests/writing-tests.md)
   * [Debugging intermittent failures](tests/debugging-intermittents.md)
   * [Performance tests (DAMP)](tests/performance-tests.md)
     * [Writing a new test](tests/writing-perf-tests.md)
-* [Bugs and issue trackers](bugs-issues.md)
 * [Files and directories](files/README.md)
   * [Adding New Files](files/adding-files.md)
 * [Tool Architectures](tools/tools.md)
   * [Inspector](tools/inspector.md)
     * [Panel Architecture](tools/inspector-panel.md)
     * [Highlighters](tools/highlighters.md)
   * [Memory](tools/memory-panel.md)
   * [Debugger](tools/debugger-panel.md)
@@ -51,8 +56,9 @@
   * [Backward Compatibility](backend/backward-compatibility.md)
   * Actors
     * [Actors Organization](backend/actor-hierarchy.md)
     * [Handling Multi-Processes in Actors](backend/actor-e10s-handling.md)
     * [Writing Actors With protocol.js](backend/protocol.js.md)
     * [Registering A New Actor](backend/actor-registration.md)
     * [Actor Best Practices](backend/actor-best-practices.md)
 * [Preferences](preferences.md)
+* [About this documentation](about-documentation.md)
copy from devtools/docs/README.md
copy to devtools/docs/about-documentation.md
--- a/devtools/docs/README.md
+++ b/devtools/docs/about-documentation.md
@@ -1,19 +1,9 @@
-# Firefox Developer Tools
-
-**Hello!**
-
-This documentation is for developers who want to work on the developer tools. [Get started here](./getting-started/).
-
-If you are looking for end user documentation, check out [this MDN page](https://developer.mozilla.org/en-US/docs/Tools) instead.
-
-Happy developing!
-
-## About this documentation
+# About this documentation
 
 This guide is built with MarkDown files and [GitBook](https://github.com/GitbookIO/gitbook).
 
 The source code for this documentation is distributed with the source code for the tools, in the `docs/` folder.
 
 If you want to contribute to the documentation, [clone the repository](./getting-started/build.md#getting-the-code), make your changes locally, and then regenerate the book to see how it looks like before submitting a patch:
 
 ```bash
@@ -21,13 +11,14 @@ If you want to contribute to the documen
 npm install -g gitbook-cli
 
 # Go into the docs directory
 cd /path/to/mozilla-central/devtools/docs/
 
 # Generate the docs and start a local server
 gitbook serve
 
-# You can now navigate to localhost:4000 to see the output
+# You can now navigate to localhost:4000 in your browser to see the output
+open http://localhost:4000 # this would work in MacOS
 
 # Or build the book only (this places the output into `docs/_book`)
 gitbook build
 ```
--- a/devtools/docs/contributing.md
+++ b/devtools/docs/contributing.md
@@ -1,16 +1,47 @@
 # Contributing
 
-<!--TODO: make this less code focused and take ideas from debugger.html's contributing.md file-->
+Thank you for taking the time to contribute! There are several areas where you can help: code, UX, bugs, talking about the DevTools, etc...
+
+---
+
+## 👉 Code of conduct 👈
+
+We strive for collaboration with [mutual respect](https://searchfox.org/mozilla-central/source/devtools/CODE_OF_CONDUCT.md) for each other. Mozilla also has a set of [participation guidelines](https://www.mozilla.org/en-US/about/governance/policies/participation/) which goes into greater detail specific to Mozilla employees and contributors.
+
+Please read the two links above before getting involved. **Contributions that don't abide by the code of conduct and participation guidelines will be rejected**.
 
-Thank you for taking the time to contribute!
+---
+
+## Help with code
+
+Whether you're an external contributor or a Mozilla employee, the process to get your code into the repository is essentially the same:
 
-Many people become contributors to implement a feature they miss, or want to fix something that annoys them. If you want to help, but don't know where to start, you could [look at our list of things to do](./bugs-issues.md). Alternatively, you might want to [report an issue or request a feature](./filing-good-bugs.md).
+* You [find a bug to work on](./contributing/find-bugs.md) (*note: we use bugs to track 'broken' things, new features and even discussions*).
+* [Work on the bug](./contributing/fixing-bugs.md).
+* [Request a review](./contributing/making-prs.md) for your code.
+* Land the code in the repository.
+* And you've contributed—well done 😀
 
-If it's your first time contributing, you should also read the documentation on [coding standards](./contributing/coding-standards.md). This might help you with questions such as what style of code to use, how to name new files (if you have to add any), tools we use to run automated checks, etc.
+## Help with design and UX
+
+If you're more interested in user experience (think: wireframes, workflows, navigations... and not necessarily implementation details), please have a look at the [UX](https://github.com/devtools-html/ux) repository—our friendly designers will be more than happy to welcome you onboard. You can also have a look at the [issues](https://github.com/devtools-html/ux/issues) they are considering right now, to get an idea of how it works.
+
+## Help with BUGS! 🐛🐞 <!--TODO: we might want to split this out to another page with more detail, in addition to this introductory section-->
 
-Once you think your work is ready to be shared, [learn how to make and submit a patch](./contributing/making-prs.md).
+Not less importantly, we also love **when people file bugs**. They help us a lot and are very valuable (specially when they come with reproducible steps, e.g. in the case of crashes or malfunctions). Here is a short [guide on how to file good bugs](./filing-good-bugs.md) if you've never done it before (or if you need a reminder).
+
+Another thing that is super valuable is **reproducing** bugs (to validate they're happening in more than one environment), and also **completing** bugs, i.e. ensuring the bug has steps to reproduce, a test case, etc, as [mentioned on the guide](./filing-good-bugs.md). This saves time for the person(s) who will work on the bug, as then they can jump straight to fixing or implementing whatever is needed, instead of doing research work. If you can do any of these for a given bug, add a comment with the additional data that you found out.
+
+Likewise, if you think that a bug is solved, because you can't reproduce it and doesn't happen any more, this is also useful to know. We can always do with closing more bugs, so please leave a comment detailing as much information as you can provide 😀
 
-A member of the team will look at your contribution, and [perform a code review](./contributing/code-reviews.md).
+## Talking about the tools <!--TODO: same as above, might want a separate page on talking and maybe collecting talks?-->
+
+We really love when people talk about our work. Be it in a blog post, or in your favourite social media network, or user group, conference, you name it! We'd love to read/watch your article/talk, so please get in touch if you do.
+
+Answering other people's questions in [our Discourse forum](https://discourse.mozilla.org/c/devtools) or [developer mailing list](https://groups.google.com/forum/#!forum/mozilla.dev.developer-tools) is also helpful.
 
-* If all goes well, your patch will be merged into the project. Congratulations!
-* If there are changes to be made, the reviewer will let you know, and you can send the updated patch again.
+## Other areas
+
+The above is not a comprehensive list; if you think you can help some other way that is not here, feel free to do it!
+
+**Whatever you choose to do, thank you so much for helping us** ❤️
copy from devtools/docs/contributing/code-reviews.md
copy to devtools/docs/contributing/code-reviews-checklist.md
--- a/devtools/docs/contributing/code-reviews.md
+++ b/devtools/docs/contributing/code-reviews-checklist.md
@@ -1,16 +1,16 @@
-# Code reviews
+# Code reviews checklist
 
 This checklist is primarily aimed at reviewers, as it lists important points to check while reviewing a patch.
 
 It can also be useful for patch authors: if the changes comply with these guidelines, then it's more likely the review will be approved.
 
 ## Bug status and patch file
-<!--TODO: update when we move to github-->
+
 * Bug status is assigned, and assignee is correctly set.
 * Commit title and message follow [the conventions](https://developer.mozilla.org/en-US/docs/Mercurial/Using_Mercurial#Commit_Message_Conventions).
 * Commit message says [what is being changed and why](http://mozilla-version-control-tools.readthedocs.org/en/latest/mozreview/commits.html#write-detailed-commit-messages).
 * Patch applies locally to current sources with no merge required.
 * Check that every new file introduced by the patch has the proper Mozilla license header: https://www.mozilla.org/en-US/MPL/headers/
 
 ## Manual testing
 
@@ -37,23 +37,23 @@ It can also be useful for patch authors:
  * If a CSS file is added/modified, it follows [the CSS guidelines](./css.md).
  * If a React or Redux module is added/modified, it follows the [React/Redux guidelines](./javascript.md#react--redux).
  * If DevTools server code that should run in a worker is added/modified then it shouldn't use Services
 * Test changes:
  * The feature or bug is [tested by new tests, or a modification of existing tests](../tests/writing-tests.md).
  * [Test logging](../tests/writing-tests.md#logs-and-comments) is sufficient to help investigating test failures/timeouts.
  * [Test is e10s compliant](../tests/writing-tests.md#e10s-electrolysis) (no CPOWs, no content, etc…).
  * Tests are [clean and maintainable](../tests/writing-tests.md#writing-clean-maintainable-test-code).
- * A try push has started (or even better, is green already)<!--TODO review and update with mentions to Travis, Circle or whatever it is we use when we move to GitHub-->.
+ * A try push has started (or even better, is green already).
 * User facing changes:
  * If a new piece of UI or new user interaction is added/modified, then UX is `ui-review?` on the bug.<!--TODO this needs updating with the new process-->
  * If a user facing string has been added, it is localized and follows [the localization guidelines](../files/adding-files.md#localization-l10n).
  * If a user-facing string has changed meaning, [the key has been updated](https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices#Changing_existing_strings).
  * If a new image is added, it is a SVG image or there is a reason for not using a SVG.
  * If a SVG is added/modified, it follows [the SVG guidelines](../frontend/svgs.md).
  * If a documented feature has been modified, the keyword `dev-doc-needed` is present on the bug.
 
 ## Finalize the review
-<!--TODO update with the GitHub workflow when we're there-->
+
 * R+: the code should land as soon as possible.
 * R+ with comments: there are some comments, but they are minor enough, or don't require a new review once addressed, trust the author.
 * R cancel / R- / F+: there is something wrong with the code, and a new review is required.
 
new file mode 100644
--- /dev/null
+++ b/devtools/docs/contributing/code-reviews-find-reviewer.md
@@ -0,0 +1,7 @@
+# Finding suitable reviewers
+
+The code in DevTools is divided into modules (because there's just so much code it's impossible for one person to know *everything* off the top of their head).
+
+Each module has one or more "owners", who know a lot about it. And they're the people you want to ask to review your code 😀
+
+You might already know who is the reviewer (perhaps the person that is mentoring the bug, perhaps your team mate), but in case of doubt, you can [consult this list of people and modules](https://firefox-dev.tools/#people-and-modules).
new file mode 100644
--- /dev/null
+++ b/devtools/docs/contributing/code-reviews-setup.md
@@ -0,0 +1,34 @@
+# Set up for code reviews
+
+There are two things you need to do before you can get a code review, although you only need to do this once 😃
+
+## Set up to get code reviews in Phabricator
+
+We use an online tool called Phabricator for code reviews. To create an account in Phabricator, you first need the Bugzilla account that you created earlier. If you don't have one, [create it now](../getting-started/bugzilla.md).
+
+---
+
+⚠️ *IMPORTANT:*  ⚠️️️
+
+It's helpful to have the same user name in both Bugzilla and Phabricator, so that people always know how to find you.
+
+Bugzilla's `Real name` field can be edited after the fact, but you cannot change Phabricator's username once the account has been created.
+
+If you added an `:ircnickname` in your Bugzilla's `Real name`, Phabricator will use that to pre-fill the username field when you create the account. **Please double check you like the proposed username, and make any corrections before you register**.
+
+---
+
+Once you understand the above, please [create a Phabricator account](https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html#creating-an-account). 
+
+
+
+## Set up to send code for review
+
+There are two ways of doing this (sorry, let us explain!):
+
+* you can use [Arcanist](https://moz-conduit.readthedocs.io/en/latest/arcanist-user.html), which is the official command line tool that accompanies Phabricator, and should be enough for most of the cases.
+* or you could use [moz-phab](https://moz-conduit.readthedocs.io/en/latest/phabricator-user.html#using-moz-phab), which is a Mozilla-developed wrapper for Arcanist that makes it work better with the "Mozilla workflow".
+
+**We recommend you use Arcanist** for now, unless you are more experienced and know what you're doing, or want to take advantage of `moz-phab`'s features. You need to install Arcanist for `moz-phab` to work anyway.
+
+If you decide to use `moz-phab`, please be aware that we started using this new tool quite recently, and you might find bugs (or things that don't feel quite right), in which case you could either [have a look at the existing bugs](https://bugzilla.mozilla.org/buglist.cgi?product=Conduit&component=Review%20Wrapper&resolution=---) to see if someone else has encountered this again, or simply [file a bug](https://bugzilla.mozilla.org/enter_bug.cgi?product=Conduit&component=Review%20Wrapper) using your fancy new Bugzilla account 😀
--- a/devtools/docs/contributing/code-reviews.md
+++ b/devtools/docs/contributing/code-reviews.md
@@ -1,59 +1,7 @@
 # Code reviews
 
-This checklist is primarily aimed at reviewers, as it lists important points to check while reviewing a patch.
-
-It can also be useful for patch authors: if the changes comply with these guidelines, then it's more likely the review will be approved.
-
-## Bug status and patch file
-<!--TODO: update when we move to github-->
-* Bug status is assigned, and assignee is correctly set.
-* Commit title and message follow [the conventions](https://developer.mozilla.org/en-US/docs/Mercurial/Using_Mercurial#Commit_Message_Conventions).
-* Commit message says [what is being changed and why](http://mozilla-version-control-tools.readthedocs.org/en/latest/mozreview/commits.html#write-detailed-commit-messages).
-* Patch applies locally to current sources with no merge required.
-* Check that every new file introduced by the patch has the proper Mozilla license header: https://www.mozilla.org/en-US/MPL/headers/
-
-## Manual testing
-
-* Verify:
-  * if it's a new feature, the patch implements it.
-  * if it's a fix, the patch fixes the bug it addresses.
-* Report any problems you find in the global review comment.
-* Decide if any of those problems should block landing the change, or if they can be filed as follow-up bugs instead, to be fixed later.
-
-## Automated testing
-
-* Run new/modified tests, [with and without e10s](../tests/writing-tests.md#electrolysis).
-* Watch out for tests that pass but log exceptions or end before protocol requests are handled.
-* Watch out for slow/long tests: suggest many small tests rather than single long tests.
-* Watch out for new tests written as integration tests instead of as unit tests: unit tests should be the preferred option, when possible.
-
-## Code review
+A review is required before code is added to Mozilla's repository. In addition, contrary to what you might have seen in other open source projects, code is not pushed directly to the repository. Instead, once the code is approved by reviewers, they will *request* the code to be *landed* on the repository.
 
-* Code changes:
- * Review only what was changed by the contributor.
- * Code formatting follows [our ESLint rules](eslint.md) and [coding standards](./coding-standards.md).
- * Code is properly commented, JSDoc is updated, new "public" methods all have JSDoc, see the [comment guidelines](./javascript.md#comments).
- * If Promise code was added/modified, the right promise syntax is used and rejections are handled. See [asynchronous code](./javascript.md#asynchronous-code).
- * If a CSS file is added/modified, it follows [the CSS guidelines](./css.md).
- * If a React or Redux module is added/modified, it follows the [React/Redux guidelines](./javascript.md#react--redux).
- * If DevTools server code that should run in a worker is added/modified then it shouldn't use Services
-* Test changes:
- * The feature or bug is [tested by new tests, or a modification of existing tests](../tests/writing-tests.md).
- * [Test logging](../tests/writing-tests.md#logs-and-comments) is sufficient to help investigating test failures/timeouts.
- * [Test is e10s compliant](../tests/writing-tests.md#e10s-electrolysis) (no CPOWs, no content, etc…).
- * Tests are [clean and maintainable](../tests/writing-tests.md#writing-clean-maintainable-test-code).
- * A try push has started (or even better, is green already)<!--TODO review and update with mentions to Travis, Circle or whatever it is we use when we move to GitHub-->.
-* User facing changes:
- * If a new piece of UI or new user interaction is added/modified, then UX is `ui-review?` on the bug.<!--TODO this needs updating with the new process-->
- * If a user facing string has been added, it is localized and follows [the localization guidelines](../files/adding-files.md#localization-l10n).
- * If a user-facing string has changed meaning, [the key has been updated](https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices#Changing_existing_strings).
- * If a new image is added, it is a SVG image or there is a reason for not using a SVG.
- * If a SVG is added/modified, it follows [the SVG guidelines](../frontend/svgs.md).
- * If a documented feature has been modified, the keyword `dev-doc-needed` is present on the bug.
+All this can be done somehow manually, but we have infrastructure in place to help us with reviews and landing code.
 
-## Finalize the review
-<!--TODO update with the GitHub workflow when we're there-->
-* R+: the code should land as soon as possible.
-* R+ with comments: there are some comments, but they are minor enough, or don't require a new review once addressed, trust the author.
-* R cancel / R- / F+: there is something wrong with the code, and a new review is required.
-
+The following sections will guide you towards getting your code reviewed and landed in the repository. Start by [setting up](./code-reviews-setup.md).
new file mode 100644
--- /dev/null
+++ b/devtools/docs/contributing/find-bugs.md
@@ -0,0 +1,6 @@
+# Find bugs to work on
+
+* Choose something from [the list of existing bugs](https://bugs.firefox-dev.tools/?easy&tool=all). You can filter by tools (e.g. only `Console` bugs), and also by good bugs for beginners.
+* Or if you would like to work on something that is not listed there, [file a bug in Bugzilla](https://bugzilla.mozilla.org/enter_bug.cgi?product=DevTools) (you'll need the Bugzilla account [you created earlier](../getting-started/bugzilla.md)) and ask for it to be assigned to you. Please also try to initiate a conversation in the bug first, to ensure that you don't work on something that will not be accepted (for example, if you think you found a bug, but the feature worked that way by design).
+
+<!-- TODO: mention finding potential work that is captured as a TODO or FIXME comments, but doesn't have an associated filed bug -->
new file mode 100644
--- /dev/null
+++ b/devtools/docs/contributing/fixing-bugs.md
@@ -0,0 +1,168 @@
+# How to fix a bug
+
+## Make sure you understand what needs to be done
+
+If you're not quite sure of this, please add a comment requesting more information in the bug itself. It is absolutely fine to also talk to someone via other means (e.g. irc, email, in the office kitchen...), but it is good to come back to the bug and add the extra information, just in case you stop working on the bug at some point and someone else has to pick work where you left it.
+
+## Find out where are the files that need changing
+
+In an ideal world, the bug has this information from the start, but very often it doesn't.
+
+If you're not yet familiar with the codebase, the [files and directories overview](../files/README.md) might help you find where things are.
+
+If you know what you're looking for (e.g. a string that has a typo and needs correcting, or a function name that needs modifying), you can use a source code search engine:
+
+* [Searchfox](http://searchfox.org/mozilla-central/source) (updated most frequently)
+* [DXR](http://dxr.mozilla.org/mozilla-central/source/) (less often)
+
+It is a good idea to [add smart keyword searches](https://support.mozilla.org/en-US/kb/how-search-from-address-bar) for Searchfox or DXR to search faster.
+
+You can also use your operating system's command line. For example, let's search for occurrences of `TODO` in the code base.
+
+Within your command line prompt, `cd` to the `devtools` directory:
+
+```bash
+cd ~/mozilla-central/devtools # use your actual folder name!
+grep -r 'TODO' .
+```
+
+This will list all the places in the DevTools code that contain the `TODO` string. If there are too many instances, you can combine the above with `less`, to scroll and paginate the output of `grep`:
+
+```bash
+grep -r 'TODO' . | less
+```
+
+Press `q` to exit.
+
+If after all of this you still can't find your bearings, add a comment in the bug asking for more information.
+
+## How do you know that you have found what you were looking for?
+
+There are a few options to confirm that you found the right files:
+
+### If this is about changing a string...
+
+Edit the file(s), and change the string (e.g. fix a typo). Rebuild, and run again:
+
+```bash
+./mach build
+./mach run
+```
+Then go to the panel that displays the string you wanted to change.
+
+Does the typo still occur? Or is the string being displayed the correct one now?
+
+### If this is about changing JavaScript code...
+
+If you think you found the right file to edit, add some logging statement on a place of the code which is likely to be executed (for example, on a class constructor):
+
+```javascript
+// For front-end code
+console.log('hello friends\n');
+```
+
+Or...
+
+```javascript
+// For server code
+dump('hello friends\n');
+```
+
+TIP: Whether to use one or another depends on the type of bug you're working on, but if you've just started in DevTools, it's highly likely you'll take a front-end bug first.
+
+Then rebuild and run again:
+
+```bash
+./mach build
+./mach run
+```
+
+Go to the panel or initiate the action that is likely to result on the code being executed, and pay close attention to the output in your console.
+
+Can you see `hello friends`? Then you found the file that you were looking for.
+
+It's possible that you'll get a lot of other messages you don't care about now, but we can use `grep` to filter:
+
+```bash
+./mach run | grep hello friends
+```
+
+This will only show lines that contain `hello friends`. If you get an empty output after trying to get the code to execute, maybe this isn't the right file, or maybe you didn't trigger the action.
+
+And that means it's time to ask for more information in the bug or from your colleagues. Tell them what you tried, so they don't have to figure that out themselves (saves everyone some time!).
+
+### If this is about changing CSS code...
+
+If you think you have found the right file and the right CSS selector, you could try to edit the file to insert some outrageously colourful rule (for example, a really thick bright blue border), then restart DevTools to see if the changes show up.
+
+```css
+border: 4px solid blue;
+```
+
+## NEXT: do whatever needs doing
+
+This will always depend on the specific bug you're working on, so it's hard to provide guidance here.
+
+The key aspect here is that if you have questions, you should not hesitate to ask. Ask your mentor, your manager, or [get in touch](https://firefox-dev.tools/#getting-in-touch). **You should just not get stuck**.
+
+Some people find it difficult to recognise or even admit they're in such a situation, so some ways to describe 'stuck' could be:
+
+* you've tried everything you could think of, nothing works, and do not know what else to do.
+* you have various ideas for things that can be done, and do not know which one to go for.
+* you have not learned anything new about the problem in the last one or two days.
+* you're starting to think about abandoning this bug and doing something else instead.
+* you don't know what to do, but are afraid of asking for help.
+
+If you think *any* of the above describes you, ask for help!
+
+Another tip you can use if you're afraid that you're wasting people's time is to timebox. For example, give yourself 2 hours to investigate. If you can't figure anything after that time has elapsed, stop and ask for help. It might be that you needed a key piece of information that was missing in the bug description, or you misunderstood something, or maybe even that you found a bug and that's why things didn't work even if they should! This is why it's important to call for help sooner rather than later.
+
+### Useful references
+
+#### Coding standards
+
+If it's your first time contributing, the documentation on [coding standards](./coding-standards.md) might have answers to questions such as what style of code to use, how to name new files (if you have to add any), tools we use to run automated checks, etc.
+
+#### Specialised guides
+
+We also have a few guides explaining how to work on specific types of problems, for example: [investigating performance issues](./performance.md), or [writing efficient React code](./react-performance-tips.md). Please have a look at the sidebar or use the search box on top of the sidebar to see if there's something written about the type of bug you're working on.
+
+If not, maybe you'll be able to contribute with one by the time you fix your bug!
+
+#### MDN
+
+[MDN Web Docs](http://developer.mozilla.org/) (also known as *MDN*) has a lot of information about HTML, CSS, JS, DOM, Web APIs, Gecko-specific APIs, and more.
+
+## Run tests
+
+We have several types of automated tests to help us when developing.
+
+Some, like the linting tests, address coding style; others address functionality, such as unit and integration tests. This page has more [details on types of tests and how to run them](../tests.md).
+
+You might want to run the unit and integration types of tests quite frequently, to confirm you're not breaking anything else. Depending on what you're doing, it might be even possible to run just one test file which addresses the specific change you're implementing:
+
+```bash
+./mach test devtools/path/to/test.js
+```
+
+Sometimes you might want to run a number of tests which are related to the bug you're fixing:
+
+```bash
+./mach test devtools/path/to/test-thing-*.js
+```
+
+At the beginning, it is entirely possible that you have no idea of where the tests are for the thing you're working on. Please ask for help! You will eventually learn your way around.
+
+It is good etiquette to ensure the tests pass locally before asking for a code review. This includes linting tests. To run them, please [configure your system to run ESlint](./eslint.md), and then you can execute:
+
+```bash
+./mach eslint devtools/path/to/files/you/changed
+```
+
+Our tool for code review will run the linter automatically as well, but if you run this locally you'll get instant feedback, and avoid having to send an updated commit again.
+
+## Time for a review
+
+When you think you have fixed the bug, first let's celebrate a bit! Yay! Well done 😀
+
+And now it's time to [get your code reviewed](./code-reviews.md).
new file mode 100644
--- /dev/null
+++ b/devtools/docs/contributing/landing-code.md
@@ -0,0 +1,22 @@
+# Landing code (i.e. getting code into Mozilla's repository)
+
+Code changes (patches) in Mozilla are not 'merged' in a sequential way, as it's the fashion in other popular projects. Here, the patches will be *applied* on top of the latest code, and will stay there if
+
+1. the patch applies cleanly, without conflicts
+2. the patch doesn't cause 'bustage' (i.e. breaks the build)
+
+Therefore, it's good to try and do smaller changes rather than bigger, specially if you're modifying files that many other people are working on simultaneously, to avoid conflicts and your patch being rejected. Otherwise you might need to rebase from the latest changes, try to write your changes on top of it, and submit this new diff.
+
+Leaving potential conflicts aside, a patch can make its way into the repository in two ways:
+
+## From Phabricator
+
+Once a review has been approved, someone with enough privileges can request the code be merged, using the [Lando](https://moz-conduit.readthedocs.io/en/latest/lando-user.html) interface. These 'privileges' are "commit level access 3". You get these once you have successfully contributed with a number of patches. See [levelling up](./levelling-up.md) for more details.
+
+If you don't have the privileges, you can also ask your mentor to land the code. In fact, they might even initiate that for you once the code review is approved.
+
+## From Bugzilla
+
+Another route is to request the landing using Bugzilla. Go to the bug, and add `checkin-needed` to the `Keywords` field.
+
+Someone looks at bugs marked with `checkin-needed` a few times a day, verifies they have an associated **approved** review, and then attempts to land them.
new file mode 100644
--- /dev/null
+++ b/devtools/docs/contributing/levelling-up.md
@@ -0,0 +1,23 @@
+# Levelling up
+
+Once you've fixed a few bugs, it's quite likely that we'll ask you to complete one or more of the following steps. They will grant you access to useful Mozilla infrastructure for testing or landing code automatically, so you can be more autonomous and able to contribute with less supervision.
+
+If you're curious, the [Mozilla Commit Access Policy](https://www.mozilla.org/en-US/about/governance/policies/commit/access-policy/) page explains what does each level mean.
+
+## Request commit access level 1
+
+Once this is granted, you can use [the `Try` server](https://wiki.mozilla.org/ReleaseEngineering/TryServer) for running automated tests of your code.
+
+To request this, [follow the instructions here](https://www.mozilla.org/en-US/about/governance/policies/commit/) to file a bug with the title "Commit Access (Level 1) for ${your name}", and continue with steps such as adding the public SSH key, etc (it's not enough with just filing the bug!).
+
+The person that asked you to request this can also vouch for you.
+
+## Request commit access level 3
+
+Once this is granted, you will get access to Lando, the autoland feature.
+
+To request this, [follow the instructions here](https://www.mozilla.org/en-US/about/governance/policies/commit/) to file a bug with the title "Commit Access (Level 3) for ${your name}".
+
+The person that asked you to request this can also vouch for you, and at this point you might already know a few other people who will vouch for you. You need two vouchers.
+
+If you reach this level, well done! That's amazing, and we're glad to have you on board 😄
--- a/devtools/docs/contributing/making-prs.md
+++ b/devtools/docs/contributing/making-prs.md
@@ -1,32 +1,87 @@
-# Creating and sending patches <!--TODO: (in the future: Making Pull Requests)-->
+# Sending your code for review (also known as "sending patches")
+
+There are two ways of doing this. We'll first explain the recommended version, and then the alternative, which is older, and we don't recommend, but might be handy in some circumstances.
+
+## Using Phabricator + Differential (RECOMMENDED)
+
+First, commit your changes. For example:
+
+```bash
+hg add /path/to/file/changed
+hg commit -m "Bug 1234567 - Implement feature XYZ."
+```
+
+Then create a revision in Differential, using Arcanist (or `moz-phab`):
+
+```bash
+arc diff
+```
+
+You'll be taken to an editor to add extra details, although some of them might be prepopulated using the data in the commit message. Make sure the bug number is filled with the right value. You'll also be able to set reviewers here: enter the names you found using the instructions in the [previous step](./code-reviews-find-reviewer.md).
+
+Save the changes and quit the editor. A revision will be created including those data and also the difference in code between your changes and the point in the repository where you based your work (this difference is sometimes called "a patch", as it's what you'd need to apply on the repository to get to the final state).
+
+If you click on the provided URL for the revision, it'll bring you to Phabricator's interface, which the reviewer will visit as well in order to review the code. They will look at your changes and decide if they need any additional work, based on whether the changes do fix what the bug describes or not. To get a better idea of the types of things they will look at and verify, read the [code reviews checklist](./code-reviews-checklist.md).
+
+The reviewer might suggest you do additional changes. For example, they might recommend using a helper that already exists (but you were not aware of), or they might recommend renaming things to make things clearer. Or they might recommend you do *less* things (e.g. if you changed other things that are out of scope for the bug). Or they might simply ask questions if things aren't clear. You can also ask questions if the comments are unclear or if you're unsure about parts of the code you're interacting with. Something that looks very obvious to one person might confuse others.
+
+Hence, you might need to go back to the code and do some edits to address the issues and recommendations. Once you have done this, we want to amend the existing commit:
 
-## Creating a patch
+```bash
+hg commit --amend -m 'Address revision issues: rewrite to use helper helpfulHelper()'
+```
+
+And submit the change again:
+
+```bash
+arc diff
+```
+
+This time, the editor that opens should have filled most of the information already. Add any missing information, save and quit the editor.
+
+You might have to go through this cycle of uploading a diff and getting it reviewed several times, depending on the complexity of the bug.
+
+**NOTE**: by default, Arcanist opens nano, which can be a bit confusing if you're not a nano user. You can override this by setting the `EDITOR` env variable. For instance, you could add this to your `.bash_profile` to set Vim as your preferred editor:
+
+```bash
+export EDITOR="/usr/local/bin/vim"
+```
+
+Once your code fixes the bug, and there are no more blocking issues, the reviewer will approve the review, and the code can be landed in the repository now.
+
+For more information on using Arcanist, please refer to [their user guide](https://moz-conduit.readthedocs.io/en/latest/arcanist-user.html#submitting-and-updating-patches).
+
+## Using Mercurial (not recommended)
+
+We don't recommend to use this method as it's more manual and makes reviewing and landing code a bit more tedious.
+
+### Creating a patch
 
 To create a patch you need to first commit your changes and then export them to a patch file.
 
 ```
 hg commit -m 'your commit message'
 hg export > /path/to/your/patch
 ```
 
-## Commit messages
+### Commit messages
 
 Commit messages should follow the pattern `Bug 1234567 - change description. r=reviewer`.
 
 First is the bug number related to the patch. Then the description should explain what the patch changes. The last part is used to keep track of the reviewer for the patch.
 
-## Submitting a patch
+### Submitting a patch
 
 Once you have a patch file, add it as an attachment to the Bugzilla ticket you are working on and add the `feedback?` or `review?` flag depending on if you just want feedback and confirmation you're doing the right thing or if you think the patch is ready to land respectively. Read more about [how to submit a patch and the Bugzilla review cycle here](https://developer.mozilla.org/en-US/docs/Developer_Guide/How_to_Submit_a_Patch).
 
-You can also take a look at the [Code Review Checklist](./code-reviews.md) as it contains a list of checks that your reviewer is likely to go over when reviewing your code.
+You can also take a look at the [Code Review Checklist](./code-reviews-checklist.md) as it contains a list of checks that your reviewer is likely to go over when reviewing your code.
 
-## Squashing commits
+### Squashing commits
 
 Sometimes you may be asked to squash your commits. Squashing means merging multiple commits into one in case you created multiple commits while working on a bug. Squashing bugs is easy!
 
 We will use the histedit extension for squashing commits in Mercurial. You can check if this extension is enabled in your Mercurial installation following these steps:
 
 * Open `.hgrc` (Linux/OSX) or `Mercurial.ini` (Windows) –this is the default configuration file of Mercurial– located in your home directory, using your favourite editor.
 * Then add `histedit= ` under the `[extensions]` list present in file, if not present already.
 
--- a/devtools/docs/getting-started/README.md
+++ b/devtools/docs/getting-started/README.md
@@ -1,12 +1,5 @@
 # Getting started
 
-1. Learn [where the code is](./where-is-the-code.md) and about the [architecture](./architecture-overview.md) of the tools.
-2. [Set up your machine](./build.md) to build the tools, then [configure a development profile](development-profiles.md).
-3. You can now experiment by changing things and rebuilding, look at the [files and directories overview](../files/README.md) or you could also [find something to work on](../bugs-issues.md).
+This section describes [how to create a Bugzilla account](bugzilla.md), [how to build Firefox code locally](build.md), and how to [set up a development profile](development-profile.md), all of which are needed in order to contribute **code** to DevTools.
 
-## Additional documentation
-
-* [MDN Web Docs](http://developer.mozilla.org/) (also known as *MDN*) has a lot of information about XUL elements, HTML, JS, DOM, Web APIs, Gecko-specific APIs, and more.
-* [DXR](http://dxr.mozilla.org/mozilla-central/source/) is a source code search engine - search for symbols you want to learn about, eg. `Document`. [Searchfox](http://searchfox.org/mozilla-central/source) is an alternative.
-
-It is a good idea to [add smart keyword searches](https://support.mozilla.org/en-US/kb/how-search-from-address-bar) for DXR and MDN, so you can search faster.
+If you want to help, but not necessarily writing code (UX, bugs...), the [contributing](../contributing.html) page can give you helpful pointers.
new file mode 100644
--- /dev/null
+++ b/devtools/docs/getting-started/bugzilla.md
@@ -0,0 +1,9 @@
+# Get a Bugzilla account
+
+Mozilla's bug tracker is at [https://bugzilla.mozilla.org/](https://bugzilla.mozilla.org/), which is often abbreviated as `BMO`.
+
+You don't need an account if you simply want to build the code and modify it, but you will need an account in Bugzilla if you want to file or comment on bugs, send patches, get assigned to bugs (so you can 'claim' them), etc.
+
+**Note**: if you are a Mozilla employee, don’t use an email alias to sign up, use your full LDAP account.
+
+To make yourself easier to find by other colleagues (for example when they're trying to set a reviewer for a patch), you can [edit the *real name* field](https://bugzilla.mozilla.org/userprefs.cgi?tab=account) to add your alias or any other word they might use to search for you there. The convention is to use something like `Your Name :alias :ldap/:ircnick`. For example: `Mary Smith :mary :msmith`
--- a/devtools/docs/getting-started/build.md
+++ b/devtools/docs/getting-started/build.md
@@ -1,114 +1,164 @@
 # Set up to build Firefox Developer Tools
 
+Since the tools are part of Firefox, we need to get and build Firefox's source code.
+
 These are the steps we're going to look at:
 
+* [Installing Mercurial](#installing-mercurial)
 * [Getting the code](#getting-the-code)
 * [Building and running locally](#building-and-running-locally)
   * [Rebuilding](#rebuilding)
   * [Artifact builds](#building-even-faster-with-artifact-builds) for even faster builds
   * [Maybe you don't even need to build](#maybe-you-dont-even-need-to-build)
 
+## Installing Mercurial
+
+Firefox's source code is hosted on [a Mercurial repository](https://hg.mozilla.org/mozilla-central/).
+
+Please [install Mercurial](https://www.mercurial-scm.org/) if it's not already installed in your system. Its website provides [files for downloading](https://www.mercurial-scm.org/downloads) and also instructions for the most popular package managers. For example, if using Homebrew in macOS:
+
+```bash
+brew install mercurial
+```
+
+Or in Debian/Ubuntu Linux with apt-get:
+
+```bash
+apt-get install mercurial
+```
+
 ## Getting the code
 
-The code is officially hosted on [a Mercurial repository](https://hg.mozilla.org/mozilla-central/). It takes a long time to clone, because the repository is **B I G**. So be prepared to be patient.
+This will take a long time, because the repository is **B&nbsp;&nbsp;I&nbsp;&nbsp;G** (Firefox is more than 10 years old and there are lots of commits every day!). So please be patient.
+
+You will also need a lot of disk space (about ~40Gb free).
 
 ```bash
+cd ~ # or the folder where you store your projects, for example ~/projects
 hg clone http://hg.mozilla.org/mozilla-central
 ```
 
 ## Building and running locally
 
-Fortunately, the Firefox team has made a very good job of automating the building process with bootstrap scripts and putting [documentation](https://developer.mozilla.org/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build) together.
+Although DevTools is written in JavaScript, the core of Firefox is not—we need tools such as compilers to build the C/C++/Rust code and turn it into binaries that our computer can run.
 
-The very first time you are building Firefox, run:
+If you're a web developer, you might not be familiar with these tools, but fortunately, the Firefox team has made a very good job of automating the process of installing them with bootstrap scripts, and putting [documentation](https://developer.mozilla.org/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build) together. You don't *need* to read it now; as we'll provide a simplified way to build the code, but if you have any issues, please refer to the documentation.
+
+Try building Firefox and downloading dependencies by running the following commands:
 
 ```bash
 ./mach bootstrap
+```
+
+This script might ask you questions, so it's recommended to keep an eye on the terminal while it's running—otherwise it will never finish!
+
+After it finishes, you might be asked to add some lines to a `mozconfig` file. Create this file in the repository folder (i.e. in `~/mozilla-central`), then add the lines.
+
+Then run this:
+
+```bash
 ./mach configure
 ./mach build
 ```
 
-After that first successful build, you can just run:
+**Note:** if using Windows, you might need to type the commands without the `./`:
+
+```bash
+mach bootstrap
+mach configure
+mach build
+```
+
+If your system needs additional dependencies installed (for example, Python, or a compiler, etc) the above commands might fail, and various diagnostic messages will be printed to your screen. Follow their advice and then try running the command that failed again, until the three of them complete successfully.
+
+Some error messages can be quite cryptic. It is a good idea to consult the [documentation](https://developer.mozilla.org/docs/Mozilla/Developer_guide/Build_Instructions/Simple_Firefox_build) specific to the platform you're using. Sometimes searching in the internet for the specific error message you get can help, and you can also [get in touch](https://firefox-dev.tools/#getting-in-touch) if you get stuck.
+
+Once you complete a first successful build, you should be able to build again by running only this command:
 
 ```bash
 ./mach build
 ```
 
-If your system needs additional dependencies installed (for example, Python, or a compiler, etc), various diagnostic messages will be printed to your screen. Follow their advice and try building again.
-
-Building also takes a long time (specially on slow computers).
-
-**Note:** if using Windows, you might need to type `mach build` instead (without the `./`).
+By the way, building takes a long time (specially on slow computers).
 
 ### Running your own compiled version of Firefox
 
 To run the Firefox you just compiled:
 
 ```bash
 ./mach run
 ```
 
-This will run using an empty temporary profile which is discarded when you close the browser. We will look more into [persistent development profiles later](./development-profiles.md).
+This will run using an empty temporary profile which is discarded when you close the browser. We will look into [persistent development profiles later](./development-profiles.md). But first...
+
+⭐️  **Time for some congratulations!** You managed to get Firefox's code, build tools and dependencies, and just run your very own copy of Firefox! Well done! ⭐   ️ 
 
 ### Rebuilding
 
-Suppose you pulled the latest changes from the remote repository (or made your own changes) and want to build again.
+<!--TODO: it would be valuable to explain how to pull changes! -->
+
+Suppose you pulled the latest changes from the remote repository (or made some changes, to experiment and see what happens) and want to build again.
 
 You can ask the `mach` script to build only changed files:
 
 ```bash
 ./mach build faster
 ```
 
 This should be faster (a matter of seconds).
 
 Sometimes, if you haven't updated in a while, you'll be told that you need to *clobber*, or basically delete precompiled stuff and start from scratch, because there are too many changes. The way to do it is:
 
 ```bash
 ./mach clobber
-./mach build
+```
+
+It is a bit tedious to do this manually, but fortunately you can add an entry to `mozconfig` to have this done automatically for you each time it's required. Add this and save the file:
+
+```
+# Automatically clobber when an incremental build is not possible
+mk_add_options AUTOCLOBBER=1
 ```
 
 ### Building even faster with artifact builds
 
-If you are *not* going to modify any C/C++ code (which is rare when working on DevTools), you can use artifact builds. This method downloads prebuilt binary components, and then the build process becomes faster.
+It is unusual to modify C/C++ code when working on DevTools. This means that we can use *artifact builds*. This method downloads prebuilt binary components, and then the build process becomes faster.
 
-Create a file on the root of the repository, called `mozconfig`, with the following content:
+Add the following content to `mozconfig`:
 
-```
+```bash
 # Automatically download and use compiled C++ components:
 ac_add_options --enable-artifact-builds
  
 # Write build artifacts to:
 mk_add_options MOZ_OBJDIR=./objdir-frontend
 ```
 
 And then you can follow the normal build process again (only *faster*!)
 
-On MacOS you might want to use `MOZ_OBJDIR=./objdir-frontend.noindex` instead. Using the `.noindex` file extension prevents the Spotlight from indexing your `objdir`, which is slow.
+**Note**: On macOS you might want to use `MOZ_OBJDIR=./objdir-frontend.noindex` instead. Using the `.noindex` file extension prevents the Spotlight from indexing your `objdir`, which is slow.
 
 For more information on aspects such as technical limitations of artifact builds, read the [Artifact Builds](https://developer.mozilla.org/en-US/docs/Mozilla/Developer_guide/Build_Instructions/Artifact_builds) page.
 
 ## Maybe you don't even need to build
 
 Working in DevTools generally involves editing JavaScript files only. This means that often you don't even need to run `./mach build`.
 
-Instead, what you need to do is to save the files you modified, quit Firefox, and reopen it again to use the recently saved files.
+Instead, you just need to save the files you modified, and restart Firefox. To achieve this, you *could* quit Firefox, and reopen it again with `./mach run`. Or you could use the `Restart (Developer)` option that is available under the `File` menu in local builds (or its respective shortcut).
+
+![Image of Restart (Developer) option under File menu](restart.png)
 
-With pseudocode:
+That would be equivalent to the following pseudocode, performed manually:
 
-```
+```bash
 # 1. Build
 ./mach build
 # 2. Run
 ./mach run
 # 3. you try out things in the browser that opens
 # 4. fully close the browser, e.g. ⌘Q in MacOS
 # 5. edit JS files on the `devtools` folder, save
 # 6. Back to step 2!
 ./mach run
 ```
 
-While not as fast as the average "save file and reload the website" *web development workflow*, or newer workflows such as React's reloading, this can still be quite fast.
-
-And certainly faster than building each time, even with artifact builds.
--- a/devtools/docs/getting-started/development-profiles.md
+++ b/devtools/docs/getting-started/development-profiles.md
@@ -1,80 +1,90 @@
 # Setting up a development profile
 
 You can have various [Firefox profiles](https://developer.mozilla.org/en-US/Firefox/Multiple_profiles) (think of something like "user accounts"), each one with different settings, addons, appearance, etc.
 
 This page will guide you through configuring a new profile to enable development features such as additional logging, dumping of network packets, remote debugging, etc. which will help when working in DevTools.
 
-Many of these changes are achieved by modifying preferences in `about:config`, a special page you can access by entering that in Firefox's URL bar. The first time, it will show you a warning page. Click through and then you can start searching for preferences to modify.
+Many of these changes are achieved by modifying preferences in `about:config`, a special page you can access by typing in `about:config` in Firefox's URL bar. The first time, it will show you a warning page. Click through or disable the warning for the future, and then you can start searching for preferences to modify.
 
-Here's [a support article](https://support.mozilla.org/t5/Manage-preferences-and-add-ons/Configuration-Editor-for-Firefox/ta-p/35030) if you need help.
+(If you're curious, here's more information about [about:config](https://support.mozilla.org/en-US/kb/about-config-editor-firefox))
 
 ## Create a permanent profile
 
 We were using a temporary profile in the previous step, [building DevTools](./build.md). The contents of this profile are deleted each time the browser is closed, which means any preferences we set will not persist.
 
-The solution is to create a new profile:
+The solution is to create a permanent profile:
 
 ```
 ./mach run -P development
 ```
 
-If this profile doesn't exist yet (quite likely), a window will open offering you options to create a new profile, and asking you which name you want to use. Create a new one, and name it `development`. Then start Firefox by clicking on `Start Nightly`.
+If this profile doesn't exist yet (quite likely), a window will open offering you options to create a new profile, and asking you for the name you want to use.
+
+Create a new profile, and name it `development`. Then start Firefox by clicking on `Start Nightly`.
 
 Next time you start Firefox with `./mach run -P development`, the new profile will be automatically used, and settings will persist between browser launches.
 
-## Enable additional logging
+It's now time to [start contributing](../contributing.html)! 😃
+
+---
+
+## Advanced settings
+
+The following section describes how to enable additional development features; don't worry if you don't understand what some of these are or what they're for. Feel free to skip these if you're new; you probably don't need them yet.
+
+### Enable additional logging
 
 You can change the value of these preferences by going to `about:config`:
 
 | Preference name | Value | Comments |
 | --------------- | --------------- | -------- |
 | `browser.dom.window.dump.enabled` | `true` | Adds global `dump` function to log strings to `stdout` |
 | `devtools.console.stdout.chrome` | `true` | Allows console API to write to `stdout` when used by chrome content |
 | `devtools.console.stdout.content` | `true` | Allows console API to write to `stdout` when used by content |
-| `devtools.debugger.log` (*) | `true` | Dump packets sent over remote debugging protocol to `stdout`.<br /><br />The [remote protocol inspector add-on](https://github.com/firebug/rdp-inspector/wiki) might be useful too. |
+| `devtools.debugger.log` (*) | `true` | Dump packets sent over remote debugging protocol to `stdout`.<!-- TODO: I think this is outdated and there isn't a compatible addon anymore <br /><br />The [remote protocol inspector add-on](https://github.com/firebug/rdp-inspector/wiki) might be useful too.--> |
 | `devtools.dump.emit` (*) | `true` | Log event notifications from the EventEmitter class<br />(found at `devtools/shared/event-emitter.js`). |
 
 Preferences marked with a (`*`) also require `browser.dom.window.dump.enabled` in order to work. You might not want to enable *all* of those all the time, as they can cause the output to be way too verbose, but they might be useful if you're working on a server actor, for example<!--TODO link to actors doc-->.
 
 Restart the browser to apply configuration changes.
 
-## Enable remote debugging and the Browser Toolbox
+### Enable remote debugging and the Browser Toolbox
+
+<!--TODO: aren't some of these preferences enabled by default now in local builds? -->
 
 These settings allow you to use the [browser toolbox](https://developer.mozilla.org/docs/Tools/Browser_Toolbox) to inspect the DevTools themselves, set breakpoints inside of DevTools code, and run the [Scratchpad](https://developer.mozilla.org/en-US/docs/Tools/Scratchpad) in the *Browser* environment.
 
 Open DevTools, and click the "Toolbox Options" gear icon in the top right (the image underneath is outdated). <!--TODO update image-->
 
 Make sure the following two options are checked:
 
 - Enable browser chrome and add-on debugging toolboxes
 - Enable remote debugging
 
 ![Settings for developer tools - "Enable Chrome Debugging" and "Enable Remote Debugging"](../resources/DevToolsDeveloperSettings.png)
 
 In `about:config`, set `devtools.debugger.prompt-connection` to `false`.
 
 This will get rid of the prompt displayed every time you open the browser toolbox.
 
-## Enable DevTools assertions
+### Enable DevTools assertions
 
 When assertions are enabled, assertion failures are fatal, log console warnings, and throw errors.
 
 When assertions are not enabled, the `assert` function is a no-op.
 
 It also enables the "debug" builds of certain third party libraries, such as React.
 
-To enable assertions, add this to your `.mozconfig`:
+To enable assertions, add this to your `mozconfig` file:
 
 ```
 ac_add_options --enable-debug-js-modules
 ```
 
 And assert your own invariants like this:
 
 ```
 const { assert } = require("devtools/shared/DevToolsUtils");
 // ...
 assert(1 + 1 === 2, "I really hope this is true...");
 ```
-
-
new file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a4611e116afbec3bfe334f111686cb79edbffee5
GIT binary patch
literal 49807
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
Q2LJ#707*qoM6N<$f_mTmX8-^I