Multi-repository deployments are available on Enterprise plans.
How multi-repository deployments work
Each repository in a multi-repository deployment has its own:- Git provider connection
- Branch
- Optional content directory
- URL path
docs.json
docs.json is the root docs.json and controls site-level configuration, including theme, colors, logo, site name, top-level navigation, integrations, SEO, and other top-level fields. Every other source contributes only its own navigation and content under its configured URL path. The first repository you configure is the base source by default, and you can change which source is the base at any time.
Multi-repository deployments are different from a monorepo setup. Use a monorepo setup when you store all content in a subdirectory alongside source code in a single repository. Use multi-repository deployments when you store content across separate repositories.
Requirements
- An Enterprise plan
- Admin access to your Mintlify project
- A
docs.jsonfile in each repository source - All repository sources must use the same Git provider (all GitHub or all GitLab). Adding a source from a different provider removes all existing sources of the other type
Configure multiple repositories
Open Git settings
Navigate to Git settings in your dashboard.

Configure the repository source
Select the repository, branch, and any required Git provider-specific fields (GitHub or GitLab).
For GitHub sources, the Mintlify GitHub App must have access to the repository. For GitLab sources, provide the project ID and a deploy token with

read_repository scope.If the repository’s docs.json is in a subdirectory rather than the root, enable docs.json is in a subdirectory and enter the path to that directory.Set the URL path
Enter a URL path for the repository source.The URL path determines where the content from that repository appears on your docs site. For example, a URL path of
api serves the content under docs.example.com/api.You can enter the path with or without leading slashes. Mintlify normalizes the value when you save.
Change the base source
The base source provides the site-wide configuration for your multi-repository deployment. Change the base source when you want a different repository’sdocs.json to control settings like theme, colors, site name, and top-level navigation.
Open Git settings
Navigate to Git settings in your dashboard.The current base source shows a Base badge next to the repository name.
Example repository layout
In this example, each source has its own repository and its owndocs.json.
| Repository | URL path | Published path |
|---|---|---|
acme/product-docs | product | /product |
acme/api-docs | api | /api |
acme/sdk-docs | sdks | /sdks |
Navigation behavior
Mintlify combines the navigation from each repository into one site navigation. Each repository source becomes a top-level product section under the configured URL path. The name of each product section comes from thename field in the corresponding repository’s docs.json. For example, if a repository’s docs.json sets "name": "API Reference", its product section appears as “API Reference” in the combined navigation.
Keep each source’s navigation scoped to that repository. For example, pages in the API repository should reference only files that live in the API repository, and pages in the SDK repository should reference only files that live in the SDK repository.
Nested navigation.products configurations are not supported inside individual source repositories.
Link between sources
Relative Markdown links can’t resolve across repositories because each source only sees its own files at build time. To link from one source to a page in another source, use a root-relative URL path that includes the destination source’s URL path:/api is the URL path configured for the API repository source. The link resolves at the published site level to docs.example.com/api/reference/authentication.
Do not use full https:// URLs for internal cross-source links. Root-relative paths keep previews and custom domains working correctly.
Reference navigation from another source
UsesourceRef to place another repository’s navigation at a specific location in the base source’s docs.json. If you don’t use sourceRef, Mintlify adds each repository as a separate top-level product section.
Requirements
- Configure the referenced repository as a source in the same multi-repository deployment.
sourceRefvalues must useowner/repoformat. Mount paths and repository names by themselves are not supported.- The referenced source must define a similar navigation pattern as the main source. For example, a
sourceRefinsideanchorsrequires the referenced source to definenavigation.anchors. sourceRefentries cannot form a cycle. A source cannot reference itself, and two sources cannot reference each other.sourceRefmust appear inside a navigation array. It is not valid at the top level ofnavigation.
Usage
Add asourceRef entry to a navigation array in the base source’s docs.json. The value must be the repository’s owner/repo identifier.
sourceRef inside anchors, tabs, groups, pages, products, and arrays under navigation.global.
For example, to combine anchors from multiple repositories into a single anchor navigation:
acme/api-docs defines its own navigation.anchors, Mintlify replaces the sourceRef entry with those anchors and prefixes their paths with the referenced source’s URL path.

