Web Extensions

After November 2017 and the release of Firefox 57 the old style of Firefox extension will no longer work, which means no more XUL and other related technologies, everything will be in Web Extensions. The advantage of this is that any extension written for Firefox should be easily updated to work with Google Chrome and Microsoft Edge. However it does not stop there, adding Opera and Brave should be easy too, see Creating an extension for all browsers: Edge, Chrome, Firefox, Opera, Brave and Vivaldi – David Rousset. If you have an extension for Chrome then load it into Extension Compatibility Tester to see if it would work in Firefox.

Whilst looking into cross browser extension development I came across Cross-browser Extension Development by one of the Grammarly developers, which is well worth looking at for serious cross browser work.

In the world of Mozilla the best place to start is WebExtensions - Mozilla | MDN which contains everything you will need.

Browsers:

Examples

For the official Mozilla examples see Example WebExtensions - Mozilla | MDN.

Microsoft Edge (Chromium)

Microsoft Edge (Chromium) Extensions - Microsoft Edge Development | Microsoft Docs

Tools

Getting started with web-ext - Mozilla | MDN
Visual Studio Code is a very good code editor, it uses MDN data already and there is also an extension for working with Firefox, Debugger for Firefox - Visual Studio Marketplace making a great setup.