Everything a site can configure lives in nookdocs.config.json.
The Configurations panel is that file as a UI: it reads the current config,
gives every key a control, and saves by committing the updated JSON back to
your repository — the same save path as a page
edit, so the config in Git stays the source of truth.
Config and panel are twins by design: anything the JSON accepts has a control here, and saving from the panel preserves keys you set by hand in the file. You never lose a setting for having edited it "the other way".
The five tabs
| Tab | What lives there |
| Site | Name, theme, appearance defaults, brand colors, logo, favicons, social card, background |
| Layout | Shell and layout options, sidebar behaviour, code-block style, content settings |
| Navigation | Navbar links, the primary CTA button, footer columns and social links |
| SEO | Title and description, keywords, indexing, GEO/structured-data switches |
| AI & Advanced | The AI assistant, feedback widget, contextual "Copy page" menu, analytics, redirects, advanced flags |
Each control loads its value from the config on open — a key you never set shows the default it falls back to, so the panel doubles as a reference for what the site is actually doing.
How saving works
Edit any number of controls
Changes stage locally in the panel; nothing touches the site yet.
Save commits the config
The panel rebuilds nookdocs.config.json — your untouched keys included —
and commits it to the repo. On a plan that gates a setting (for example
removing the "Powered by" attribution needs Team+), the save tells you
instead of silently dropping the change.
Sync applies it
The push comes back through the sync pipeline and the live site picks up the new config — theme, colors, navigation and all.
Panel or JSON — both, freely
Some teams live in the panel; some keep the config in code review like any other file. Mixing works because both paths write the same file:
Set up the basics in the panel, then fine-tune rarely-used keys in JSON with
$schemaautocomplete.Hand-write the config and use the panel to preview what a theme or color change looks like before committing to it.
Let an agent edit the JSON over MCP — it can validate the file with
validate_configbefore the commit, and the panel reflects the result on next open.
The panel shows a live preview of theme and color choices before you save — cheaper than a commit-and-look loop when you're picking between two darks.