Codesearch
2019 Coolest Tool Award Winner
in the category
Developer

MediaWiki Codesearch is a fully free software tool that lets you easily search through all of MediaWiki core, extensions, and skins that are hosted on Gerrit. You can limit your search to specific repositories, or types of repositories too. Regular expressions are supported in both the search string, and when filtering by path.

Try it out: https://codesearch.wmcloud.org/search/

Implementation

Codesearch uses Hound as the search implementation. It indexes the origin/master branch of all specified repositories, and updates them every 90 minutes, and adds new repositories every 24 hours. Each search profile is backed by a different instance of hound. A small Python Flask server acts as the proxy for the web frontend, backed by gunicorn, to the individual hound instances.

Included repositories

  • MediaWiki core.
  • MediaWiki extensions hosted in Gerrit (except those marked as read-only).
  • MediaWiki extensions hosted elsewhere, if listed by MWStake.
  • MediaWiki skins hosted in Gerrit (except those marked as read-only).
  • Milkshake repositories (from GitHub).
  • OOjs Core and OOUI (from Gerrit).
  • translatewiki.net configuration (from Gerrit).
  • Software services by WMF SRE, Performance, and Analytics hosted in Gerrit.
  • Configuration for MediaWiki and SRE instructure at WMF (e.g. operations/puppet, operations/dns, and operations/mediawiki-config from Gerrit).
  • ArmchairGM repos (hidden by default, access directly via https://codesearch.wmcloud.org/armchairgm/)
  • Pywikibot repositories (from Gerrit).

Additional repositories can be added upon request. Note that submodules must be indexed seperately if desired (T188023).

To discover MediaWiki extensions and skins hosted in Gerrit, Codesearch uses the extdistrepos API.

Administration

The current project administrators are Addshore, Derick Alangi, Ladsgroup, Legoktm, MaxSem, Andrew Bogott, AOkoth, Krinkle, and Mutante. Documentation on the operation/administration of codesearch is available at Codesearch/Admin.

Source

  • Codesearch (GitHub mirror), available under the terms of the GPL v3 or any later version.
  • Hound, available under the terms of the MIT license.

Bugs and feature requests

Please file them in the Phabricator project.

See also