Skip to content

Developer Guide

This guide is for people working on Cinatra’s code — writing agents, building extensions, contributing to the platform, integrating with the open standards Cinatra speaks.

For end-user material, see the User Guide. For platform-administration content, see the Admin Guide. For installation and configuration, see the Hosting Guide. For the Model Context Protocol (MCP) server (external and internal), see the MCP Guide.


  • Extensions — the extension system end to end: the five kinds, the dual loader, register(ctx), the host context ports, and the installed-extension gate
  • Extension authoring — build an extension: the three-file manifest, declared dependencies, and the register(ctx) activation contract
  • Extension publishing — the submit → approve → promote → registry-sync flow and the @cinatra-ai/* registry
  • Extension lifecycle and distribution — the canonical manifest, lifecycle states, and distribution
  • Extension permissions — the permissions architecture for extensions
  • Extension README contract — the marketplace-ready README every extension ships, plus the CI gate that enforces it
  • Workflow extension doctrine — the four contracts a workflow extension must define before it can replace and retire a legacy surface
  • Workflow extensions as app surfaces — the typed-portlet cinatra/dashboard.json operator surface, never a bespoke route tree
  • Cinatra BPMN Profile 1.0 — the cinatra/workflow.bpmn authoring profile: supported constructs, the 12 cinatra: elements, and the BPMN→WorkflowSpec mapping
  • Open standards in Cinatra — agent-to-agent (A2A) protocol, Agent-User Interaction Protocol (AG-UI), agent-to-UI (A2UI) protocol, OAS — what Cinatra implements, the version pins, the endpoint matrix
  • A2UI usage in Cinatra — using A2UI for human-in-the-loop surfaces
  • Cross-instance collaboration — registry routing, external A2A surface, AgentCard discovery, and how two instances talk at the protocol level

Advanced, internal engineering references — contributor material, not part of the day-to-day developer flow.