MediaWiki used to declare extensions in php files. Then MediaWiki 1.25 [introduced](https://lists.wikimedia.org/pipermail/mediawiki-announce/2015-May/000176.html) a registration system based on a [extension.json file](https://www.mediawiki.org/wiki/Manual:Extension_registration). However, [many extensions](https://tools.wmflabs.org/extreg-wos/) still haven't been migrated.
* Set up a development environment - see [How to become a MediaWiki hacker page](https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker) for instructions
* Choose a [MediaWiki extension of your choice which is not converted to extension registration](https://tools.wmflabs.org/extreg-wos/) (that means a "No" in the "Converted?" column) from the list of extensions on [wikimedia git](https://gerrit.wikimedia.org/).
* [Check](https://phabricator.wikimedia.org/search/query/advanced/) if there is already a task to convert this extension to extension registration, else [create such task](https://phabricator.wikimedia.org/maniphest/task/edit/form/10/?parent=98668&title=Convert%20%3Cextension/skin%3E%20to%20use%20extension%20registration) as a subtask of T98668. Assign it to yourself.
* In your development environment, install the extension from git (note that initially it won't work) and [migrate the code to use a extension.json file](https://www.mediawiki.org/wiki/Manual:Extension_registration#Migration_for_extension_developers).
* Verify that the extension now does what it is supposed to do
* [Upload the patch to gerrit](https://www.mediawiki.org/wiki/Gerrit/Tutorial#How_to_submit_a_patch) and follow-up there with the feedback that you receive.
A list of extensions pending to be migrated is available at
* https://tools.wmflabs.org/extreg-wos/