The easiest way to add a new feature is to use github's online file editor and create a new pull request from there.
- Create a new file in the
featuresfolder and name it to reflect the feature name. The filename should end with the.mdextension, be short, be descriptive, be lowercase, and use-dashes-for-spaces. - Copy the contents feature-template.md into the file.
- Fill as many values (documented below) as possible in
<the-feature>.md. - Create a pull request from the online editor, or if you're using git from the command line follow the usual steps for making a pull request.
| Property | Required | Description |
|---|---|---|
| title | ✓ | Short descriptive title |
| summary | ✓ | Short descriptive summary in one sentence |
| firefox_status | ✓ | Either the version number of Firefox that the feature was shipped in or unknown, not-planned, deprecated, under-consideration, in-development |
| bugzilla | Tracking (meta) bug ID from bugzilla.mozilla.org | |
| mdn_url | URL to documentation on the Mozilla Developer Network | |
| spec_url | URL to the specification | |
| caniuse_ref | Corresponding name used by caniuse from the url after feat= e.g. http://caniuse.com/#feat=promises |
|
| webkit_ref | Corresponding title property from webkit.org's WebCore/features.json or JavaScriptCore/features.json |
|
| chrome_ref | Corresponding id property from chromestatus.com/features.json |
|
| ie_ref | Corresponding name property from MicrosoftEdge/Status |
|
| firefox_footnote | Footnotes for Firefox | |
| webkit_footnote | Footnotes for WebKit | |
| chrome_footnote | Footnotes for Chrome | |
| opera_footnote | Footnotes for Opera | |
| ie_footnote | Footnotes for Edge |
This list isn't definitive, but a feature makes a good candidate if any of the following are true:
- a standardization process has started
- major browsers have started implementing it or are experimenting with it
- it has been requested by web designers/developers
The project requires Node.js 4 or superior and Redis. Set the Redis server URL in the environment variable REDIS_URL.
- Try to work on open issues or create a new issue before starting work.
- Follow the style in the file and make sure to run
npm test.
Join the #apps channel on irc.mozilla.org or open an issue.