Configuration

Complete reference for docu.json — the site configuration file for DocuBook Flame.

Flame reads project configuration from docu.json at the project root. This file controls site metadata, navigation, theming, plugins, and more.

json
{
  "$schema": "https://raw.githubusercontent.com/DocuBook/docubook/main/packages/flame/docu.schema.json",
  "meta": {
    "title": "My Docs",
    "description": "Documentation powered by DocuBook Flame",
    "baseURL": "https://example.com"
  },
  "navbar": {
    "logoText": "My Docs",
    "menu": [
      { "title": "Home", "href": "/" },
      { "title": "Docs", "href": "/docs" }
    ]
  },
  "themes": {
    "colors": "default"
  }
}

Root Fields

FieldTypeRequiredDescription
$schemastringNoJSON Schema URL for IDE autocompletion
metaobjectYesSite metadata
navbarobjectYesNavigation bar configuration
footerobjectNoFooter configuration
homeobjectNoLanding page hero and features
repoobjectNoRepository link for edit-on-GitHub
sidebarobjectNoSidebar behavior options
routesarrayNoManual route table overrides
themesobjectNoTheme color configuration
pluginsarrayNoPlugin list

meta

Site-wide metadata used for page <title>, <meta name="description">, Open Graph tags, and the RSS feed URL.

json
{
  "meta": {
    "title": "My Docs",
    "description": "Documentation powered by DocuBook Flame",
    "baseURL": "https://example.com",
    "favicon": "/docs/assets/images/favicon.ico"
  }
}
FieldTypeRequiredDescription
titlestringYesSite title, used as <title> suffix
descriptionstringNoSite description for SEO
baseURLstringNoCanonical URL for sitemaps and RSS
faviconstringNoPath to favicon (default: /docs/assets/images/favicon.ico)

Controls the top navigation bar.

json
{
  "navbar": {
    "logoText": "My Docs",
    "logo": {
      "src": "/docs/assets/images/logo.svg",
      "alt": "My Docs"
    },
    "menu": [
      { "title": "Home", "href": "/" },
      { "title": "Docs", "href": "/docs" }
    ]
  }
}
FieldTypeRequiredDescription
logoTextstringYesText displayed next to the logo
logoobjectNoLogo image (src + alt). Replaces logoText when set.
menuarrayNoTop navigation links. Each item has title and href.

Social links displayed in the site footer.

json
{
  "footer": {
    "social": [
      { "name": "github", "url": "https://github.com/DocuBook/docubook" },
      { "name": "npm", "url": "https://www.npmjs.com/package/@docubook/flame" }
    ]
  }
}

Supported social platform names: github, gitlab, bitbucket, npm, youtube, twitter, x, instagram, linkedin, facebook, telegram, discord, threads, mastodon.

repo

Enables the Edit on GitHub link on documentation pages.

json
{
  "repo": {
    "url": "https://github.com/DocuBook/docubook",
    "path": "packages/flame/docs",
    "edit": true
  }
}
FieldTypeRequiredDescription
urlstringYesRepository URL
pathstringYesPath prefix for edit links
editbooleanYesShow edit button on pages

home

Customise the landing page hero section and feature cards.

json
{
  "home": {
    "hero": {
      "tagline": "Modern Documentation",
      "headline": "Write docs in MDX",
      "description": "A blazing-fast React + MDX framework.",
      "actions": [
        { "text": "Get Started", "link": "/docs", "theme": "primary" },
        { "text": "GitHub", "link": "https://github.com", "theme": "secondary" }
      ]
    },
    "features": [
      {
        "icon": "Zap",
        "title": "Fast by default",
        "description": "Built on Bun with instant startup."
      }
    ]
  }
}

Hero

FieldTypeDescription
taglinestringSmall text above headline
headlinestringMain heading
descriptionstringSubtitle text
actionsarrayCall-to-action buttons. Each has text, link, optional theme (primary/secondary/ghost), and optional icon.

Feature

FieldTypeDescription
iconstringLucide icon name
titlestringFeature title
descriptionstringFeature description
linkstringOptional link target

Controls how context sections appear in the sidebar.

json
{
  "sidebar": {
    "context": "separator"
  }
}
FieldTypeDefaultDescription
contextstring"dropdown"How multi-context is displayed. "dropdown" — context switcher dropdown. "separator" — inline group headers in sidebar.

routes

Routes define the sidebar navigation tree. When omitted, Flame auto-generates routes from the filesystem (docs/ folder).

json
{
  "routes": [
    {
      "title": "Getting Started",
      "href": "/docs/getting-started",
      "context": { "title": "Guide", "icon": "BookOpen" },
      "items": [
        { "title": "Introduction", "href": "/docs/getting-started/introduction" },
        { "title": "Installation", "href": "/docs/getting-started/installation" }
      ]
    }
  ]
}
FieldTypeDescription
titlestringSection or page title
hrefstringURL path
noLinkbooleanIf true, the item is a group header (not clickable)
itemsarrayNested child routes
contextobjectContext metadata: title, icon (Lucide name), description

themes

Controls the color system. See Theme Colors for full documentation.

json
{
  "themes": {
    "colors": "default"
  }
}
FieldTypeDescription
colorsstring or objectPreset name ("default", "freshlime", "coffee") or custom { "primary": "#FF5733" }

Override via CLI: flame dev --theme freshlime, flame build --theme coffee.

plugins

Extend Flame with build and dev server hooks. See Plugins for the full API.

json
{
  "plugins": [
    "@docubook/plugin-sitemap",
    ["./plugins/analytics", { "id": "G-XXXXXXX" }]
  ]
}

Each entry is a plugin name (npm package or relative path) optionally followed by an options object. Relative paths starting with . resolve from the project root; absolute paths and .. traversal are blocked.

Last updated Jul 11, 2026