skillfed

mkdocs-multirepo-plugin

Build documentation in multiple repos into one site.

mkdocs-multirepo-plugin v0.8.3 74.4K downloads/30d#14,831 on PyPI195
Permissive license MIT Active released

What it is and what it does

mkdocs-multirepo-plugin is an MkDocs plugin that pulls documentation from multiple Git repositories and builds them into a single searchable site. Instead of centralizing all docs in one repo, you keep documentation close to the code in separate repositories—each with its own mkdocs.yml—and the plugin fetches and merges them during the build process. It supports three import methods: automatic directory-based navigation via the `repos` config, explicit file imports via `nav_repos`, or inline `!import` statements in your nav section. Documentation is fetched asynchronously using asyncio, and the plugin can run in CI/CD pipelines.

The plugin is designed for monorepos and multi-service architectures where different teams maintain separate documentation but need a unified site. Configuration happens entirely within mkdocs.yml, and you can control which branch or tag to import, customize the docs directory path, and optionally preserve the docs directory structure in the final build.

Use it for:

  • Build a unified documentation site for a microservices architecture where each service team maintains its own docs repository.
  • Aggregate documentation from multiple open-source projects into a single searchable reference site.
  • Create a monorepo documentation site that pulls docs from multiple project subdirectories, each with its own mkdocs.yml.
  • Maintain a central documentation hub that imports README and docs from upstream projects without forking them.
  • Set up a CI/CD pipeline that automatically rebuilds documentation when multiple source repositories change.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Merges documentation from multiple Git repositories into a single MkDocs site, keeping docs distributed across repos while building them into one searchable site.

Yes, if you need to aggregate documentation from multiple Git repositories into one MkDocs site. The plugin is actively maintained, has no known vulnerabilities, and low install friction. It's suitable for production use in CI/CD pipelines. Install only if you actually have multiple documentation sources to merge; for single-repo documentation, standard MkDocs is simpler.

Install

mkdocs-multirepo-plugin on PyPI

pip

pip install mkdocs-multirepo-plugin

uv

uv add mkdocs-multirepo-plugin

poetry

poetry add mkdocs-multirepo-plugin

Installing mkdocs-multirepo-plugin

Before you install

Low install friction with a pure-Python wheel distribution. Actively maintained as of 2026-03-19 with 195 repository stars. Six runtime dependencies are all standard Python packages, and asyncio-based imports mean documentation builds asynchronously.

License in practice

MIT license (permissive) means you can use, modify, and distribute this plugin freely with minimal restrictions—suitable for both open-source and commercial projects.

Quickstart

pip install mkdocs-multirepo-plugin

# In mkdocs.yml:
plugins:
  - multirepo:
      cleanup: true

nav:
  - Home: 'index.md'
  - Docs: '!import https://github.com/user/repo'

Requires Git to be installed and accessible; newer versions of Git are preferred per the documentation.

Verify before relying

  • Whether the plugin works reliably with all Git hosting platforms beyond GitHub, or if there are known limitations with GitLab, Gitea, etc.
  • Performance characteristics when importing documentation from many repositories or very large repositories.
  • Whether the asyncio import mechanism is compatible with all MkDocs themes and extensions.

Package facts

License MIT (permissive)
Python support not specified
Install friction low — pure-Python wheel
Runtime dependencies 6 — asyncio, dacite, importlib-resources, mkdocs, python-slugify, typing-inspect
Maintenance actively maintained — 731 days since the last release
Last repo commit
First released
Downloads 74,434/month — #14,831 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mkdocs_multirepo_plugin-0.8.3-py2.py3-none-any.whl

Keywords: mkdocs, docs, documentation

Development Status :: 3 - AlphaIntended Audience :: DevelopersLicense :: OSI Approved :: MIT LicenseOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: 3.7Programming Language :: Python :: 3.8Programming Language :: Python :: 3.9Topic :: Documentation

Tags

multi-repo documentationmkdocs plugin multiple repositoriesdistributed docs aggregationcombine docs from multiple reposmonorepo documentation buildermkdocs import external docscentralized documentation site
mkdocs-pluginmonorepodocumentation-aggregation

More Documentation packages

docutils

Docutils converts plaintext documentation in…

unclear · top 1,000 on PyPI

Sphinx

Sphinx generates professional documentation…

permissive · top 1,000 on PyPI

griffe

Griffe extracts the complete structure and…

permissive · top 1,000 on PyPI

sphinxcontrib-serializinghtml

A Sphinx extension that outputs documentation…

permissive · top 1,000 on PyPI

alabaster

Alabaster is a clean, responsive Sphinx theme…

permissive · top 1,000 on PyPI

sphinxcontrib-htmlhelp

A Sphinx extension that generates HTML help…

permissive · top 1,000 on PyPI

mkdocs-monorepo-plugin

Enables building multiple sets of documentation…

permissive · top 5,000 on PyPI

mkdocs-redirects

A MkDocs plugin that generates HTTP redirects…

permissive · top 5,000 on PyPI

mkdocs-same-dir

A ProperDocs plugin that allows placing the…

permissive · top 15,000 on PyPI

mkdocs-task-collector

A MkDocs plugin that scans Markdown files for…

permissive · top 15,000 on PyPI

mkdocs-techdocs-core

Bundles Spotify's TechDocs defaults—themes,…

permissive · top 15,000 on PyPI

pierre-storage

Python SDK for managing Git repositories…

permissive · top 5,000 on PyPI

poetry-multiproject-plugin

A Poetry plugin that enables building and…

permissive · top 15,000 on PyPI

mkdocs-with-pdf

Generates a single PDF file from an MkDocs…

permissive · top 15,000 on PyPI

mkdocs-section-index

MkDocs plugin that makes section headers…

permissive · top 5,000 on PyPI

mkdocs-simple-hooks

A MkDocs plugin that lets you define custom…

permissive · top 15,000 on PyPI