Prestige Config
prestige.config.ts is the main configuration file for a Prestige site. It describes your documentation structure and the content pipeline settings that the Vite plugin uses at build and dev time.
The file lives at the app root:
my-app/
prestige.config.ts
vite.config.ts
src/
content/
Use vite.config.ts for plugin registration and dev-server behavior. Use prestige.config.ts for site structure and content-specific configuration.
Basic example
import { defineConfig } from "@lonik/prestige/vite";
export default defineConfig({
title: "Prestige",
collections: [
{
id: "docs",
items: [
{
label: "Introduction",
slug: "docs/introduction",
},
],
},
],
});
This file is loaded by the Prestige Vite plugin. Prestige validates it, resolves your collections, and generates the routes and navigation data used by the UI.
What belongs here
prestige.config.ts is where you define:
- The site title.
- The collection tree that drives sidebars and generated routes.
- Markdown compiler options for your content.
The Vite plugin options do not belong here. For example, disableLog and enableDebugLog should be passed to prestige() in vite.config.ts.
Relationship to src/content
Prestige reads Markdown and MDX files from src/content. The config file decides which parts of that content become part of the site.
For example, this collection:
export default defineConfig({
collections: [
{
id: "docs",
items: [
"docs/introduction",
"docs/getting-started",
],
},
],
});
works with content files such as:
src/content/docs/introduction.mdx
src/content/docs/getting-started.mdx
Only pages referenced from collections are turned into generated content routes.
Relationship to vite.config.ts
The two config files have different jobs:
vite.config.tsregisters the Prestige plugin with Vite.prestige.config.tsprovides the content model consumed by that plugin.
For example:
import { prestige } from "@lonik/prestige/vite";
import { defineConfig } from "vite";
export default defineConfig({
plugins: [
prestige({
enableDebugLog: false,
}),
],
});
Then in prestige.config.ts:
import { defineConfig } from "@lonik/prestige/vite";
export default defineConfig({
title: "Prestige",
collections: [
{
id: "docs",
items: ["docs/introduction"],
},
],
});
Common workflow
When adding a new documentation area, the usual flow is:
- Add content files under
src/content. - Register those files inside
collectionsinprestige.config.ts. - Let Prestige regenerate the corresponding routes and sidebar data.
If you skip step 2, the page exists on disk but will not become part of the generated site structure.
Next steps
- For collection design, see Collection.
- For Vite plugin setup, see Vite Plugin.
- For the exact config surface, see Prestige Config Reference.
