Configuration reference

Embed
Preview of the card
<a href="https://forumulate.com/reference/configuration"><img src="https://forumulate.com/reference/_api/public/orgs/046a9bc0-d530-43ae-9bae-af7945008cda/spaces/8042f004-e3d9-445f-b7a4-b6c1f86836e6/pages/e5f4527f-2bf3-4a7c-ae2b-e8e5d7916e53/social-card.svg?v=3e7ae33eec8b" alt="Configuration reference" width="600" height="315"></a>

Every configuration document Forumulate reads has a published JSON Schema, dated like the API (2026-12-01): a schema at a date never changes incompatibly.

Document

Schema

Reference

Site config — A site’s config: header, footer, tabs, theme, page mounts, search.

site-config.json

Site config

Space theme — A space’s (or a site’s config.theme) reader theme.

space-theme.json

Space theme

forumulate.yaml (publish manifest) — The publish manifest: which spaces a folder publishes, their settings and theme, the site around them. It has no version key, and comes in two forms: one space written flat (space:, path:, create:, theme: … at the top level), or spaces: — a list of { path, space, … }, one per folder. A forumulate.yaml that says version: 2 is a different document, the site manifest forumulate plan / apply read (see config-forumulate-yaml-v2).

forumulate-yaml.json

forumulate.yaml (publish manifest)

Front matter — The YAML block at the top of a Markdown page: title, slug, order, the kind and parameters of the piece, and every page setting PATCH …/pages/{id}/metadata takes (SEO, schemaType, layout, audience, …).

front-matter.json

Front matter

Forum category — A forum category’s settings.

forum-category.json

Forum category

forumulate.yaml, version 2 (site manifest) — The whole-site document forumulate plan and forumulate apply read: a forumulate.yaml that says version: 2. It is the body of PUT /orgs/{orgId}/manifest plus what only a file can say (org, a pages entry that is a Markdown folder {dir, space}, about/contactForm given as a file name). A file with no version key is the publish manifest instead — see forumulate.yaml.

forumulate-yaml.json (version: 2)

forumulate.yaml, version 2 (site manifest)

Casing

  • Every key in a JSON or YAML configuration document (site config, theme, forumulate.yaml, a category) is camelCase, exactly: primaryColor, footerColumns, headerLinks. primary_color and PrimaryColor are unknown keys, refused with the camelCase name in the hint. The one exception is two top-level blocks of a version-2 site manifest, which are snake_case: reader_auth (a list of sign-in configurations) and status_monitors; readerAuth is a different key there, the one-word shorthand readerAuth: atlas.

  • Front matter is the exception: a key is read in any casing (seo_title, seo-title, SeoTitle all mean seoTitle), and the names other tools use (description, sidebar_label, sidebar_position, image) are read as ours.

  • Enum values are lower-case ("wide", "system"), except space types and visibilities, which are upper-case ("DOCS", "PUBLIC").

  • Colours are #rrggbb (or #rgb); lengths that are numbers are CSS pixels.

Checking a folder

forumulate validate docs-site/

Reads forumulate.yaml, the front matter of every Markdown file, and any JSON or YAML file whose $schema names one of these schemas, and reports each problem with its file, path and did-you-mean. Exit status 0 when everything is valid, 2 when something is not.

The same check is POST /schemas/2026-12-01/validate with { "documents": [{ "schema": "site-config", "document": { … } }] }.

The Forumulate teamUpdated