Configuration reference
Generated from the runtime schema. The same schema validates configuration and provides TypeScript types.
For editor completion, add "$schema": "./node_modules/@twango/twiki/cli/twiki.schema.json" to a root-level twiki.config.json. Adjust the path if your config lives elsewhere. The package also exports @twango/twiki/schema.
| Field | Type / values | Required | Default | Description |
|---|---|---|---|---|
$schema | string | No | — | Optional JSON Schema URL or local path for editor completion. |
version | 1 | Yes, when parent exists | — | Configuration format version. |
contentDir | string | No | — | Content directory relative to the vault root. Explicit CLI projects default to the current directory. |
discovery | filesystem, git | No | — | File discovery. Explicit CLI projects default to filesystem; legacy workspaces default to git. |
publication | private, public, policies | No | — | Publication mode. Explicit CLI projects default to private. Static export requires public. |
site | object | No | — | Branding, canonical URL, author and navigation settings. |
site.name | string | No | "twiki" | Site name shown in navigation. |
site.title | string | No | "twiki" | Default page title. |
site.url | string | No | "http://localhost:5173" | Canonical HTTP or HTTPS origin. |
site.description | string | No | "Notes, ideas, and reference material." | Default site description. |
site.author | object | No | — | |
site.author.name | string | No | "" | |
site.author.url | string | No | "" | |
site.author.github | string | No | "" | |
site.author.email | string | No | "" | |
site.locale | string | No | "en_US" | Open Graph locale. |
site.language | string | No | "en" | HTML language. |
site.navigation | object | No | — | |
site.navigation.mode | courses, sections | No | "courses" | Course navigation or general documentation sections. |
site.navigation.workspace | string | No | "Workspace" | Navigation switcher caption. |
site.navigation.browse | string | No | "Browse courses" | Navigation switcher label. |
site.navigation.find | string | No | "Find a course" | Section search label. |
site.navigation.home | string | No | "Workspace home" | Link to the vault home. |
site.navigation.all | string | No | "All courses" | Unfiltered search label. |
cloudflare | object | No | — | Wrangler resource settings. Twiki supplies generated main and assets paths. Never put credentials here. |
analytics | object | No | — | Optional analytics site and endpoint. Disabled when omitted. |
analytics.siteId | string | Yes, when parent exists | — | |
analytics.scriptUrl | string | No | — | |
analytics.endpoint | string | No | — |
Absent values preserve context-sensitive defaults: an explicit CLI vault uses filesystem discovery, the vault root as content directory, and private publication. Legacy engine workspaces use Git discovery, content/ and publication policies. Schema defaults for site metadata match runtime branding defaults.
The cloudflare object passes resource settings to Wrangler; Twiki controls generated main and assets. Never store an API token here. See Cloudflare deployment, Authentication and Public vault example.