User:Tgr (WMF)/gadget DX

There is a somewhat overlapping set of problems that make working with "technical wiki content" (gadgets, templates and modules) a frustrating experience:
 * There is no code review process, which is a universal standard in development today.
 * There is little support for testing without actually making the change (there is some support for testing templates; the problem is particularly bad for gadgets where you have to deal with caching and whatnot).
 * There is no way to share technical resources between different wikis. This is a major problem for Wikimedia projects as well (there would be huge potential in small projects being able to free-ride on the work of large ones and focus on content creation instead of template / gadget maintenance), but even worse for other wikis which would have to mirror the exact software configuration to be able to port templates.
 * There is no continuous integration support (linting, unit tests, browser tests etc) which is again taken for granted by most developers today and a huge productivity gain.
 * There is some Javascript/Lua support in the wikitext editor but it's a very far cry from the power an actual IDE would give you.

One way to solve these problems would be to provide some kind of central gadget/template/module storage (much like Commons does for images and Wikidata for data), and implement a standard developer toolchain on top of that. The other would be to outsource development to code forges like GitHub or Wikimedia's own Gerrit/Phabricator/Jenkins complex, and add support to MediaWiki for pulling and live-testing changes from an external repository. Whichever we choose, gadgets and templates serve as the backbone of most important editor workflows so tackling this problem is a must.