Reference
The content model, blocks, API, CLI and permissions, generated from the code where possible.
Workstreams
A workstream is a named branch of content changes: many entities, the navigation menus and the site settings edited together, previewed as a whole on a private URL, compared with the live site and merged or discarded in one action, now or on a schedule. Use one for a campaign launch, a redesign, a…
Theming: the Brand area, design tokens, import and export
Every public page carries the site's theme as CSS custom properties on :root. Blocks, modules and custom markup read them, so a brand change reaches every page at once. The admin edits the theme in Brand (Sidebar → Structure → Brand): logos, colors, type, space, block styles and the brand voice,…
Personalization, A/B testing and analytics
Spillway can show different content to different visitors, run A/B tests on any part of a page and count traffic without cookies or a third-party script. All of it runs inside the one server process; nothing identifies a visitor and pages stay cacheable.
Multisite and department delegation
One Spillway instance can host many sites, and each site can hand parts of itself to departments. This page explains how sites are resolved, what is shared and what is per site, how roles work per site and per section, and how a university would set it up. The API details are in api.md and the…
Modules
Spillway can be extended in two ways, and the difference is about trust.
MCP server and API tokens
Spillway ships a Model Context Protocol server at POST /mcp, so Claude, ChatGPT and other agents can read the content model, draft pages, run the pre-publish checks and hand drafts to a human editor. The same bearer tokens also work on the REST API, so a script can do anything the admin can within…
Localization
Spillway publishes a site in several languages. Every entity is one translation; the translations of the same content form a translation group, and one of them is the source. Fields are either translatable (each language keeps its own value) or shared (copied from the source and kept in sync).…
The domain importer
Point Spillway at a domain and it brings the site in without a database connection: it crawls the public pages, extracts each one, clusters the pages into content types, converts the bodies into blocks, extracts the theme, keeps every URL and lands the result as drafts with a comparison and a…
Front-end adapters: Astro and Next.js
Spillway renders its own pages: one process serves the API, the admin and the public site, with a tagged page cache in front. That is the simplest setup and the one most sites should start with. The adapters are for sites that render Spillway content elsewhere: a marketing site that already lives…
Roles and permissions reference
<!-- Generated by pnpm docs:build (docs-reference) from ROLE_PERMISSIONS in packages/shared/src/index.ts. Do not edit by hand; edit the source and run the command. -->
CLI reference
<!-- Generated by pnpm docs:build (docs-reference) from packages/core/src/cli.ts. Do not edit by hand; edit the source and run the command. -->
Blocks reference
<!-- Generated by pnpm docs:build (docs-reference) from packages/blocks/src/config.tsx and meta.ts. Do not edit by hand; edit the source and run the command. -->