skillfed

mkdocs-monorepo-plugin

Plugin for adding monorepository support in Mkdocs.

mkdocs-monorepo-plugin v1.1.2 2.0M downloads/30d#3,358 on PyPI398
Permissive license Apache-2.0 AGING released

What it is and what it does

This plugin extends Mkdocs to support documentation structures spread across multiple folders and configuration files, rather than requiring all docs in a single location. It introduces an `!include` directive in mkdocs.yml that lets you reference separate mkdocs.yml files from subdirectories, which the plugin then merges into a unified site. This is designed for large codebases—especially monorepos—where different teams own different parts of the codebase and want to maintain their documentation close to their code.

The plugin preserves the normal Mkdocs developer experience: you can run `mkdocs serve` at the root to see the merged documentation with live reload, or in a subfolder to work on a single section. It also supports glob-style patterns (via `*include`) to automatically include multiple matching configuration files without listing each one individually.

Use it for:

  • Building unified API documentation for a monorepo where each API version lives in its own folder with its own mkdocs.yml
  • Organizing documentation by team ownership in a large codebase, with each team maintaining their own docs folder and navigation
  • Merging documentation from multiple Git repositories using submodules into a single published site
  • Maintaining separate changelogs and reference docs for different components while presenting them under one navigation structure

Worth the install?

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

Enables building multiple sets of documentation from separate folders and mkdocs.yml files within a single Mkdocs site, using an `!include` syntax to merge navigation and content.

Yes, if you have a monorepo or multi-team codebase and need to organize documentation across multiple folders. The plugin is stable and has low install friction. However, note that maintenance is aging (435 days since last release); verify that it works with your specific mkdocs version and plugin ecosystem before committing to it for a critical project.

Install

mkdocs-monorepo-plugin on PyPI

pip

pip install mkdocs-monorepo-plugin

uv

uv add mkdocs-monorepo-plugin

poetry

poetry add mkdocs-monorepo-plugin

Installing mkdocs-monorepo-plugin

Before you install

Low install friction with only two runtime dependencies (mkdocs and python-slugify). Maintenance status is aging—last release was 435 days ago—but the repository remains active and the package is marked Production/Stable.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial and private use with minimal restrictions; you must include a copy of the license and state significant changes.

Quickstart

pip install mkdocs-monorepo-plugin

# In root mkdocs.yml:
nav:
  - Home: 'index.md'
  - API:
    - v1: '!include ./v1/mkdocs.yml'
    - v2: '!include ./v2/mkdocs.yml'
plugins:
  - monorepo

Requires Python 3.9 or later and mkdocs 1.0.4 or above. Each included mkdocs.yml must have a corresponding docs folder in the same directory.

Verify before relying

  • Whether Git Submodules integration for cross-repository documentation merging is fully functional in current versions
  • Compatibility with mkdocs plugins beyond the core ecosystem
  • Performance characteristics when merging documentation from many subfolders

Package facts

License Apache-2.0 (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 2 — mkdocs, python-slugify
Maintenance aging — 435 days since the last release
Last repo commit
First released
Downloads 2,021,911/month — #3,358 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: mkdocs_monorepo_plugin-1.1.2-py3-none-any.whl

Keywords: mkdocs, monorepo

Development Status :: 5 - Production/StableIntended Audience :: DevelopersIntended Audience :: Information TechnologyProgramming Language :: PythonProgramming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.9

Tags

mkdocs multiple docs foldersmonorepo documentationmkdocs plugin navigation mergemulti-team documentationmkdocs include syntax
mkdocs-pluginmonorepo

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-multirepo-plugin

Merges documentation from multiple Git…

permissive · top 15,000 on PyPI

mkdocs-techdocs-core

Bundles Spotify's TechDocs defaults—themes,…

permissive · top 15,000 on PyPI

mkdocs-task-collector

A MkDocs plugin that scans Markdown files for…

permissive · top 15,000 on PyPI

mkdocs-simple-hooks

A MkDocs plugin that lets you define custom…

permissive · top 15,000 on PyPI

mkdocs-same-dir

A ProperDocs plugin that allows placing the…

permissive · top 15,000 on PyPI

mkdocs-meta-manager

A MkDocs plugin that automatically applies meta…

permissive · top 5,000 on PyPI

mkdocs-awesome-pages-plugin

A plugin for MkDocs that lets you customize…

permissive · top 5,000 on PyPI

mkdocs-include-dir-to-nav

A MkDocs plugin that automatically expands…

permissive · top 15,000 on PyPI

mkdocs-section-index

MkDocs plugin that makes section headers…

permissive · top 5,000 on PyPI

mkdocs-literate-nav

MkDocs plugin that lets you define site…

permissive · top 5,000 on PyPI