Mantine NextJS + Fumadocs

Docs

Menu

Getting Started

Create your documentation site in a few minutes: create the project, install the dependencies, start the dev server and write your first page.

Create the project

Use the Use this template button on the GitHub repository, or clone it directly:

Terminal

git clone https://github.com/gfazioli/next-app-fumadocs-template my-docs
cd my-docs

Install the dependencies

The project uses Yarn 4 (Berry). The postinstall script also generates the .source folder used by Fumadocs:

Terminal

yarn install

Start the dev server

Terminal

yarn dev

Open http://localhost:3000 — the landing page lives at / and the documentation at /docs.

Write your first page

Every .mdx file inside content/docs becomes a page. The frontmatter title is required, description is optional but recommended:

content/docs/hello.mdx

---
title: Hello World
description: My first page
---

Welcome to **my docs**!

Then add the page to the sidebar order in content/docs/meta.json:

content/docs/meta.json

{
  "pages": ["index", "hello"]
}

Make it yours

Update the site configuration in config/index.ts (metadata, GitHub repository, search language), the Mantine theme in theme.ts, and the landing page in app/page.tsx.

Project anatomy

layout.tsx
page.tsx
index.mdx
meta.json
source.config.ts
  • content/docs — your MDX content and the meta.json sidebar order
  • components/mdx — the MDX component map: every HTML tag is rendered with Mantine
  • components/docs — the docs shell: sidebar, table of contents, search dialog
  • lib/source.ts + source.config.ts — the Fumadocs content pipeline

Deploy

Two first-class options:

  • Vercel — import the repository and deploy, no configuration needed. Dynamic search API, GitHub releases proxy, the works.
  • GitHub Pages — fully static: yarn build:static produces a static export (static Orama search index included), and the bundled workflow .github/workflows/deploy-pages.yml publishes it automatically on every push to main. See the Search guide for details.