Multi-Project Docs
Explainer supports documenting multiple projects within a single documentation site. Each top-level directory under apps/docs/src/content/docs/ is treated as a separate project.
How it works
apps/docs/src/content/docs/
├── explainer/ # Project 1
│ ├── _meta.json
│ └── default/en/...
├── my-api/ # Project 2
│ ├── _meta.json
│ └── default/en/...
└── cli-tool/ # Project 3
├── _meta.json
└── default/en/...
Each project gets its own sidebar, versioning, and locale support. A project switcher appears in the navigation bar, allowing users to switch between projects.
Project _meta.json
Every project directory must include a _meta.json file:
{
"icon": "lucide:server",
"title": "My API"
}| Field | Type | Description |
|---|---|---|
title | string | Display name in the project switcher |
icon | string | Icon shown next to the project name |
Adding a new project
Create the project directory
mkdir -p apps/docs/src/content/docs/my-api/default/en Add the project _meta.json
{
"icon": "lucide:server",
"title": "My API"
}Create your first page
---
title: Getting Started
description: Get started with My API.
order: 1
---
# Getting Started
Welcome to My API documentation.Verify
Start the dev server and navigate to /en/my-api/getting-started. The project switcher should now list both projects.
URL structure
Each project has its own URL namespace:
| Project | URL |
|---|---|
explainer | /en/explainer/getting-started |
my-api | /en/my-api/getting-started |
cli-tool | /en/cli-tool/installation |
The home page (/) redirects to the first project’s first page.