Jump to navigation Jump to search

This page describes top-level directories in the MediaWiki core code repository.

See also the following pages in the versioned MediaWiki documentation site (auto-generated using Doxygen ):

Entry points[edit]

See Entry points on to learn about the entry point files, such as: index.php, api.php and load.php.


The installer recommends users to enable the $wgCacheDirectory feature by making this directory writable and using it for that feature.

This directory is empty by default.


Contains high-level documentation about MediaWiki, which is automatically published for each MediaWiki release (and for "master") to

For the living version of the MediaWiki doc site, see


This is where MediaWiki extensions are installed. To install an extension, its source code is placed in a subdirectory here (typically by unpacking a tarball downloaded from the extensions' documentation page, or by cloning the source code from Gerrit). Then, to enable the extension it must be loaded from LocalSettings.php , typically by calling wfLoadExtension().

The default distribution for MediaWiki (as advertised on our homepage and as packaged with Debian) also bundles a number of extensions and skins. See Bundled extensions and skins .


This directory stores the majority of the MediaWiki source code.

To learn about the different classes and components of MediaWiki, see "Modules" on


This is the default directory where user-uploaded media files will be stored. It is also where the generated thumbnails are stored by default.

See also Manual:Configuring file uploads and Manual:Image administration .


See also T225756: Clean up "languages" directory. This directory contains files used for localization and internationalization.


  • the i18n/ subdirectory contains the interface messages used in MediaWiki core (using the Banana JSON file format).
  • the classes/ subdirectory contains PHP classes that define the hundreds of languages MediaWiki supports and any unique processing rules for them.
  • the messages/ subdirectory contains misc characteristics of MediaWiki that are localisable (but not interface messages). Such as the names of Namespaces , Parser functions and Special pages .


This directory contains shell scripts for use by system administrators to perform maintenance tasks. This includes scripts for performing database schema migrations, and batch operations. See Manual:Maintenance scripts for an overview.


This directory is the entry point for the Web installer which new administrators can use to install their wiki. It helps with configuring the wiki and creating the database schema.


This directory contains frontend resources (JavaScript and CSS) managed by ResourceLoader .


This is where MediaWiki skins are installed. To install a skin, its source code is placed in a subdirectory here (typically by unpacking a tarball, or by cloning the source code from Git). Then, to enable the skin it must be loaded from LocalSettings.php , typically by calling wfLoadSkin().

See also Bundled extensions and skins .


Contains unit tests, integration tests, and end-to-end tests.