docs.json in your docs folder configures the whole site. mint.json is accepted as a legacy fallback, and $ref pointers to other JSON files in the repository are resolved anywhere in the config. Unknown keys are ignored, never fatal.
Branding
colors.primarydrives links, buttons, and accents;colors.lightis used as the primary in dark mode.logocan be a single path or a{light, dark}pair. The object form requires both.faviconalso accepts{light, dark}. SVG favicons are automatically rasterized into PNG and apple-touch icons.
Theme and appearance
mint, maple, palm, willow, linden, almond, aspen, sequoia, luma. An unknown theme falls back to mint. appearance.strict: true hides the light/dark toggle.
Fonts
fonts accepts a root family plus separate heading and body entries. Without a source URL the font loads from Google Fonts; with source (and optional format, weight) it is emitted as a self-hosted @font-face. styling.codeblocks takes any Shiki theme name or a light/dark pair.
Other styling options: eyebrows: "breadcrumbs" replaces the section eyebrow above page titles with breadcrumbs, and latex: true | false forces or disables math rendering (default: auto-detected).
Banner
type is info, warning, or critical, and color (a string or {light, dark} pair) overrides the banner background. Dismissals are remembered per banner content, so editing the message shows it again to everyone.
Navbar and footer
navbar.primary.type: "github" renders a GitHub icon with a star count instead of a button.
SEO
seo.metatagsadds arbitrary meta tags to every page; well-known keys (description,og:*,twitter:*,canonical) act as overrides.seo.indexing: "all"includes hidden/noindex pages in the sitemap (defaultnavigabledoes not).seo.organizationemits JSON-LD structured data.metadata.timestamp: trueshows a git-derived “Last updated” on every page.errors.404.redirect: truesends unknown URLs to the home page instead of showing the 404 page;titleanddescriptionreplace the 404 page’s heading and body copy.
Icons
lucide, fontawesome, hugeicons (default). Icon names that don’t resolve render as nothing and appear as build warnings. Any icon value anywhere can also be a path or URL to an image file.
Variables
{{version}} in your MDX is replaced at build time, including inside code fences. Referencing an undefined variable is a page error (only when at least one variable is configured).
Agent-facing options
markdown.schema(defaulttrue) lists your local OpenAPI specs inllms.txt;falseremoves that section.markdown.instructionsis appended as an “Agent Instructions” section to every page’s raw Markdown export and tollms.txt.contextual.optionsconfigures the page-action menu (Copy page, View as Markdown, Open in ChatGPT/Claude/Perplexity/Grok/Cursor/VS Code, or fully custom entries). See AI & agents.
Custom CSS and JavaScript
Any.css file in the docs folder (outside snippets/) is automatically linked on every page. A loose JavaScript file is copied as a static asset but is not injected automatically.
Use the top-level scripts array to load JavaScript on every page. Each entry can be a path in the docs folder or an HTTPS URL, and Docs7 loads it with defer: