gesttalt.

Developer guide

Publish from anywhere

Gesttalt exposes the same publication through an OpenAPI-described application programming interface and the Model Context Protocol.

Authentication

Gesttalt uses the OAuth 2.0 authorization framework. Authorization Code with Proof Key for Code Exchange is recommended for mobile and desktop applications.

Authorization
/oauth2/authorize
Token
/oauth2/token
Discovery
/.well-known/oauth-authorization-server

Dynamic client registration

Standards-aware applications can register at /oauth2/register. You can also create and revoke clients in the dashboard.

Application programming interface

Read the machine-readable OpenAPI document or use the interactive reference. Scopes separate content and media, while theme sessions stay behind the Model Context Protocol authorization scope.

Model Context Protocol

Connect compatible tools to /mcp with the mcp authorization scope. Tools can list, create, update, and publish content or themes.

Live theme editing

Theme editing happens entirely through the Model Context Protocol. Ask your agent to call create_theme_editing_session. It receives an isolated copy of the active theme, the standard variable contract, and a preview address you can open beside the conversation.

Calls to update_theme_editing_session accept partial variable changes, preserve omitted values, change only that in-process draft, and reload every connected preview. The variables cover semantic colors, font families and scales, spacing, radii, sizes, and shadows. They adapt the Theme UI (user interface) theme specification to stable Cascading Style Sheets custom properties.

Prefer variables for visual decisions and the stylesheet for component rules. The three Liquid templates define route-specific document structure: index_template for the home page, article_template for blog posts, and page_template for standalone pages. When the result is ready, publish_theme_editing_session makes it active. discard_theme_editing_session closes the session without changing the publication.

Migrate from Zola

mix gesttalt.import_zola /path/to/website --email you@example.com

The importer preserves titles, slugs, descriptions, publication dates, and Markdown bodies from the existing content folder.