This is an information page. It is not an encyclopedic article, nor one of Wikipedia's policies or guidelines; rather, its purpose is to explain certain aspects of Wikipedia's norms, customs, technicalities, or practices. It may reflect differing levels of consensus and vetting. |
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
editSource 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
editThis list is incomplete; you can help by adding missing items. |
- wikimedia-gadgets on GitHub – Unofficial organisation for gadgets on Wikimedia wikis, including Twinkle and MoreMenu
- afc-helper – The repository for Wikipedia: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.