Wikipedia:Gadget/Repositories

Various Wikipedia gadgets and user scripts host their source code in an external repository. This allows for distributed version control, source code management, and other functionality not available within the MediaWiki software that Wikipedia runs on.

How it works
Source code is hosted externally as part of a repository using Git or similar software. To deploy, the code is copied over to Wikipedia either manually or via automation. This may include "build" step, such as bundling and compiling modern (ES6+) JavaScript into browser-compatible JavaScript, or transcompiling from TypeScript or another language into JavaScript.

Using dedicated software development processes and infrastructure makes it easier to organise code, create and run unit tests, implement Model–view–controller or similar patterns, and collaborate with other developers.

Examples

 * wikimedia-gadgets on GitHub – Unofficial organisation for gadgets on Wikimedia wikis, including Twinkle and MoreMenu
 * afc-helper – The repository for WikiProject Articles for creation/Helper script
 * MoreMenu – The repository for MoreMenu.
 * prosesize – The repository for Prosesize.
 * shortdesc-helper – The repository for Shortdesc helper.
 * twinkle – The repository for Twinkle.
 * xfdcloser – The repository for XFDcloser.
 * RedWarn on GitLab – Organisation for the RedWarn development team and RedWarn projects.
 * redwarn-web – Repository for the RedWarn userscript. A mirror of this repository can be found on GitHub at wikimedia-gadgets/redwarn.