Frontmatter
Every.mdx file must start with these three fields:
| Field | Required | Notes |
|---|---|---|
title | Yes | Appears in sidebar, page H1, and <title> tag |
description | Yes | Shown as subtitle and used for meta description |
icon | Yes | Lucide icon name (kebab-case). Browse at lucide.dev |
Body structure
Use H2 (##) for top-level sections. Do not use H1 — the frontmatter title becomes the page H1.
Keep sections short. If a section runs longer than 10 lines of prose, consider whether it belongs in its own page.
End most guide pages with a “What’s next” card or callout pointing to the logical next step.
Available components
Cards and columns
Use<Columns> with <Card> to create a linked card grid:
cols={2} for two items. Use cols={3} for three. Card href is optional — omit it for informational cards.
Steps
Use<Steps> for sequential instructions where order matters:
<Step> can contain prose, code blocks, or nested components.
Callouts
Four callout types for different purposes:Accordion
Use<Accordion> for optional detail that interrupts the main reading path:
Code blocks
Use fenced code blocks with a language specifier for syntax highlighting:Naming conventions
| Item | Convention | Example |
|---|---|---|
| File name | Kebab-case | project-scoping.mdx |
| Folder name | Kebab-case | workflows/ |
| Page title | Title case | "Project Scoping" |
| Tab name | Title case | "Workflows" |
| Group name | Title case | "Project Delivery" |
Adding a page to navigation
After creating the.mdx file, add its path (without extension) to the correct group in docs.json:
wupxy-docs/ root, without the .mdx extension.