Reference
The content model, blocks, API, CLI and permissions, generated from the code where possible.
Types and contract reference
<!-- Generated by pnpm docs:build (docs-reference) from packages/shared/src/index.ts and recurrence.ts. Do not edit by hand; edit the source and run the command. -->
The package registry
Spillway can run as the registry that other Spillway instances download modules, themes and kits from. It is the same server with one switch: REGISTRY_HOST=1. spillwaycms.com runs one; so can a company that keeps its own modules private. Without the switch nothing is mounted and GET /registry/v1/*…
API
Everything the admin does goes through this JSON API, so anything the admin can do, a script can do. The contract is in packages/shared/src/index.ts; the handlers are in packages/core/src/routes/.
Blocks
Pages in Spillway are built from blocks. A block is a Puck component: a set of fields the editor shows in the right-hand panel, default values, and a render function that turns the props into HTML. The core blocks live in packages/blocks (@spillway-cms/blocks, MIT). The server and the admin both…
Content model
Spillway stores structured content as entities of a content type. A content type is a list of typed fields. An entity is one record of that type: a page, a post, a case study. Every save of an entity creates a revision. The types in this document are defined in packages/shared/src/index.ts; the…