The first step for getting T117411 going is to create a well-structured
extension skeleton that can serve as a good foundation for the development
work.
This means:
[ ] an `extension.json` file
[ ] an `i18n/` subdirectory with `qqq.json` / `en.json`
[ ] `.jscsrc` / `jsduck.json` / `.jshintrc`
[ ] a `tests/` directory with at least:
[ ] one dummy PHPUnit test
[ ] one dummy QUnit test
[ ] an appropriate license
[ ] a stub page on mediawiki.org
[ ] working CI
[ ] two ResourceLoader modules:
[ ] one which draws an interface element that activates the interface by `mw.loader.using()`-ing the second module
[ ] the main module itself.
For guidance, [[ https://www.mediawiki.org/wiki/Manual:Developing_extensions | Manual:Developing extensions ]] is a good place to start. If you need an example, have a look at the [[ https://git.wikimedia.org/tree/mediawiki%2Fextensions%2FMassMessage.git | MassMessage extension ]].