Required fields
The four fields every docs.json must have.
Four fields are required. Everything else has a default or is optional.
{ "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"] }] } ] }}namestringrequired1 to 100 characters. The site name, and the default value of seo.title.
template
Section titled “template”template"mint" | "rapide" | "black"requiredSelects 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.
colors
Section titled “colors”colorsobjectrequiredExactly 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.
navigation
Section titled “navigation”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.
Unknown keys are errors
Section titled “Unknown keys are errors”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.