This is a monorepo for hosting the content for the documentation of various projects in Auth0.
We use Mintlify for our documentation needs.
main: Main Documentation for Auth0: https://auth0.com/docs- Contains the primary Auth0 documentation content
- Includes
docs/,snippets/, andui/subdirectories
auth4genai: Documentation for Auth0 for AI Agents features in Auth0: https://auth0.com/ai/docs- Contains content for AI-specific Auth0 features
- Includes sections for quickstart guides, integrations, SDKs, MCP, and more
ui: Shared UI components and tooling- React/Vite-based component library used across documentation sites
Use the Mintlify CLI to preview and edit documentation locally.
- Node.js v19 or higher
Install the Mint CLI globally:
npm i -g mintOr using pnpm:
pnpm add -g mintNote for VPN Users
When running
mint devfor the first time, you'll need to disable your VPN to allow the framework to download. After the initial download completes, you can re-enable your VPN for subsequent runs.
-
Navigate to the documentation folder you want to work with (where the
docs.jsonfile is located):cd main # or cd auth4genai
-
Start the development server:
mint dev
-
Open your browser to
http://localhost:3000to view the local docs
- Update the CLI:
mint updateornpm i -g mint@latest - Find broken links:
mint broken-links - Check accessibility:
mint a11y - Custom port:
mint dev --port 3333
For more details, see the Mintlify CLI documentation.
We use Lychee to check for broken links across both documentation sites (main/ and auth4genai/).
All configuration and exclusions live in lychee.toml, and both local runs and CI use the same rules.
There are two recommended ways to check links locally, depending on what you want to validate.
This mode asks Lychee to treat absolute paths like /docs/... as if they were being loaded from the live site.
It is useful when you want to confirm that public links resolve correctly through redirects, locale routing, or dynamically rendered pages.
Main docs:
lychee --format detailed --verbose --base-url https://auth0.com \
'main/**/*.md' 'main/**/*.mdx' 'main/**/*.jsx'Auth0 for AI Agents docs:
lychee --format detailed --verbose --base-url https://auth0.com/ai/docs \
'auth4genai/**/*.md' 'auth4genai/**/*.mdx' 'auth4genai/**/*.jsx'This mode validates only links that actually exist in the repo. It is useful when you’re working on local references (images, snippets, relative paths) and want to ensure nothing in the tree is broken.
Main docs:
lychee --format detailed --verbose --root-dir "$(pwd)/main" \
'main/**/*.md' 'main/**/*.mdx' 'main/**/*.jsx'Auth0 for AI Agents docs:
lychee --format detailed --verbose --root-dir "$(pwd)/auth4genai" \
'auth4genai/**/*.md' 'auth4genai/**/*.mdx' 'auth4genai/**/*.jsx'- You can combine
--base-urland glob patterns however you like; the examples above are the patterns used in CI. - Any URLs that need to be ignored should be added to
lychee.toml, not passed on the command line. - Lychee caches results locally, so repeat runs are much faster.
- Mintlify already checks internal routes during
mint dev, so Lychee is mainly for external links and static references.