The Android Product Team (APT) at Mozilla uses GitHub to develop their products and faces challenges with GitHub, both due to GitHub's existing functionality and the specifics of the APT workflow. APT GitHub Improvements is a browser extension that adds to the GitHub interface in order to address these problems.
Available on addons.mozilla.org
For an overview of how we decide which features make it into the project, see Feature Philosophy.
Features for general GitHub users:
- Link Issues to Pull Requests
- Link Issue Numbers in Pull Request titles
- Indicate PRs that address issues in issues list
Features for APT/Mozilla specifically (these will generally not appear when the user is not on APT/Mozilla repositories):
Some features access the GitHub API: it is highly recommended to add a GitHub access token to avoid restricting them.
For an explanation of required permissions, see permissions.md.
- Open issues: https://github.com/mcomella/apt_github_improvements/issues
- Documentation: https://github.com/mcomella/apt_github_improvements/tree/master/docs
This extension adds unique functionality for Mozilla/APT so there are no existing solutions for this functionality. However, when considering this extension's features that address a general GitHub audience, there is some overlap.
Refined GitHub is a "browser extension that simplifies the GitHub interface and adds useful features" but has features that contradict APT GitHub Improvement's Feature Philosophy. Additionally, Refined GitHub requires you to be logged in and has many dependencies.
There are other solutions that add/change GitHub functionality but they generally address a single user problem that does not overlap in scope with APT GitHub Improvements.
Some individual features in this add-on will include references to other solutions.
Install global dependencies:
- nodejs (8.11.4 LTS)
- npm
Install project dependencies:
npm install
To build, run either:
npm run build
npm run watch # Rebuilds when files change
To run the compiled output in Firefox, you can load a temporary add-on.
Development with Visual Studio Code is recommended, given its awareness of Typescript types.
The tests can be found in the ./spec
directory. To run:
npm test
dist/bundle.xpi
will be created after:
./scripts/publish.sh
This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this
file, You can obtain one at http://mozilla.org/MPL/2.0/.