Wikipedia:Gadget/Repositories

{{Wikipedia programs}}

{{Information page|WP:REPOS}}

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

{{incomplete-list}}

  • [https://github.com/wikimedia-gadgets wikimedia-gadgets] on GitHub{{snd}}Unofficial organisation for gadgets on Wikimedia wikis, including Twinkle and MoreMenu
  • [https://github.com/wikimedia-gadgets/afc-helper afc-helper]{{snd}}The repository for Wikipedia:WikiProject Articles for creation/Helper script
  • [https://github.com/wikimedia-gadgets/MoreMenu MoreMenu]{{snd}}The repository for MoreMenu.
  • [https://github.com/wikimedia-gadgets/prosesize prosesize]{{snd}}The repository for Prosesize.
  • [https://github.com/wikimedia-gadgets/shortdesc-helper shortdesc-helper]{{snd}}The repository for Shortdesc helper.
  • [https://github.com/wikimedia-gadgets/twinkle twinkle]{{snd}}The repository for Twinkle.
  • [https://github.com/wikimedia-gadgets/xfdcloser xfdcloser]{{snd}}The repository for XFDcloser.
  • [https://gitlab.com/redwarn/ RedWarn] on GitLab{{snd}}Organisation for the RedWarn development team and RedWarn projects.
  • [https://gitlab.com/redwarn/redwarn-web/ redwarn-web]{{snd}}Repository for the RedWarn userscript. A mirror of this repository can be found on GitHub at [https://github.com/wikimedia-gadgets/redwarn wikimedia-gadgets/redwarn].