This page describes top-level directories in the MediaWiki core code repository.
See Entry points on doc.wikimedia.org 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 doc.wikimedia.org.
For the living version of the MediaWiki doc site, see https://doc.wikimedia.org/mediawiki-core/.
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' mediawiki.org 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
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 doc.wikimedia.org/mediawiki-core/.
This is the default directory where user-uploaded media files will be stored. It is also where the generated thumbnails are stored by default.
i18n/subdirectory contains the interface messages used in MediaWiki core (using the Banana JSON file format).
classes/subdirectory contains PHP classes that define the hundreds of languages MediaWiki supports and any unique processing rules for them.
messages/subdirectory contains misc characteristics of MediaWiki that are localisable (but not interface messages).
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 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
See also Bundled extensions and skins.
Contains unit tests, integration tests, and end-to-end tests.