# thehimanshoo/mediawiki-extensions architecture

> Architecture diagram of the GitHub repository thehimanshoo/mediawiki-extensions, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-28). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/thehimanshoo/mediawiki-extensions
- Repository: https://github.com/thehimanshoo/mediawiki-extensions

## Overview

This repository is an index of MediaWiki extensions, not a single extension runtime. The README documents cloning the collection and initializing its submodules; the tree supplies extension names but not their implementations. The capability branches below are representative examples inferred from those names, so no runtime links between extensions are asserted.

Main entry points: [`README.md`](https://github.com/thehimanshoo/mediawiki-extensions/blob/master/README.md) (Extension collection), [`.gitmodules`](https://github.com/thehimanshoo/mediawiki-extensions/blob/master/.gitmodules) (Submodule manifest)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_content["Content and editing"]
  node_visualeditor["VisualEditor"]
  node_pageforms["Page Forms"]
  node_translate["Translate"]
end

subgraph group_discovery["Search and discovery"]
  node_cirrus["CirrusSearch"]
  node_categorytree["CategoryTree"]
  node_readinglists["ReadingLists"]
end

subgraph group_community["Community and workflow"]
  node_discussion["DiscussionTools"]
  node_echo["Echo"]
  node_campaigns["CampaignEvents"]
end

subgraph group_platform["Identity and platform"]
  node_central_auth["CentralAuth"]
  node_oauth["OAuth"]
  node_wikibase["Wikibase"]
end

node_engineer(("Extension user"))
node_collection["Extension collection<br/>[README.md]"]
node_manifest["Submodule manifest<br/>[.gitmodules]"]
node_git_remotes[("Extension remotes")]

node_engineer -->|"clones"| node_collection
node_collection -->|"includes"| node_manifest
node_manifest -->|"resolves submodules"| node_git_remotes

click node_collection "https://github.com/thehimanshoo/mediawiki-extensions/blob/master/README.md"
click node_manifest "https://github.com/thehimanshoo/mediawiki-extensions/blob/master/.gitmodules"
click node_visualeditor "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/VisualEditor"
click node_pageforms "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/PageForms"
click node_translate "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/Translate"
click node_cirrus "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CirrusSearch"
click node_categorytree "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CategoryTree"
click node_readinglists "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/ReadingLists"
click node_discussion "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/DiscussionTools"
click node_echo "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/Echo"
click node_campaigns "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CampaignEvents"
click node_central_auth "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CentralAuth"
click node_oauth "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/OAuth"
click node_wikibase "https://github.com/thehimanshoo/mediawiki-extensions/tree/master/Wikibase"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_visualeditor,node_pageforms,node_translate,node_engineer toneBlue
class node_cirrus,node_categorytree,node_readinglists,node_git_remotes toneAmber
class node_discussion,node_echo,node_campaigns toneMint
class node_central_auth,node_oauth,node_wikibase toneRose
class node_collection,node_manifest toneTeal
```

## Components

### Content and editing

- [VisualEditor](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/VisualEditor): `VisualEditor`
- [Page Forms](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/PageForms): `PageForms`
- [Translate](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/Translate): `Translate`

### Search and discovery

- [CirrusSearch](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CirrusSearch): `CirrusSearch`
- [CategoryTree](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CategoryTree): `CategoryTree`
- [ReadingLists](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/ReadingLists): `ReadingLists`

### Community and workflow

- [DiscussionTools](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/DiscussionTools): `DiscussionTools`
- [Echo](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/Echo): `Echo`
- [CampaignEvents](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CampaignEvents): `CampaignEvents`

### Identity and platform

- [CentralAuth](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/CentralAuth): `CentralAuth`
- [OAuth](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/OAuth): `OAuth`
- [Wikibase](https://github.com/thehimanshoo/mediawiki-extensions/tree/master/Wikibase): `Wikibase`

### Other components

- **Extension user**
- [Extension collection](https://github.com/thehimanshoo/mediawiki-extensions/blob/master/README.md): `README.md`
- [Submodule manifest](https://github.com/thehimanshoo/mediawiki-extensions/blob/master/.gitmodules): `.gitmodules`
- **Extension remotes**

## Connections

- Extension user → Extension collection: clones
- Extension collection → Submodule manifest: includes
- Submodule manifest → Extension remotes: resolves submodules
