Skip to content

Required fields

The four fields every docs.json must have.

Four fields are required. Everything else has a default or is optional.

json
{
"name": "My Documentation",
"template": "mint",
"colors": {
"accent-primary": { "light": "#4E7D4A", "dark": "#7FAE79" },
"background": { "light": "#FBFAF7", "dark": "#14130F" },
"border": { "light": "#E4E0D8", "dark": "#2E2C26" },
"sidebar-background": { "light": "#F6F4EE", "dark": "#1C1B17" },
"header-background": { "light": "#FFFFFF", "dark": "#0B0A08" },
"card-background": { "light": "#FFFFFF", "dark": "#1C1B17" }
},
"navigation": {
"tabs": [
{ "label": "Docs", "groups": [{ "label": "Start", "pages": ["index"] }] }
]
}
}
namestringrequired

1 to 100 characters. The site name, and the default value of seo.title.

template"mint" | "rapide" | "black"required

Selects the visual template.

mint is the fully-featured template. rapide and black are minimal templates that conform to the same interface — useful as a starting point, or as proof that the template contract is real rather than a single hard-coded design.

colorsobjectrequired

Exactly six keys, each an object with light and dark values.

The six keys are accent-primary, background, border, sidebar-background, header-background and card-background. All six are required and no others are permitted.

Each value must be a 6-digit hex color. Three-digit shorthand and 8-digit alpha forms are rejected — a color that silently loses its alpha channel at render time is worse than one that fails to parse.

navigationobjectrequired

{ tabs: Tab[] } — at least one tab, each with at least one group, each with at least one page.

See Navigation for the page shapes and nesting rules.

The whole config is validated strictly. A top-level key Reed does not recognize — a typo, or a field carried over from a different documentation platform — is a schema error, not a silent no-op. Nothing you write in docs.json is ever ignored without telling you.