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.
Foundations
Section titled “Foundations”- Architecture — how the platform is composed: monorepo layout, runtime split, package boundaries
- Security — identities, authentication, authorization, secrets handling, agent execution safety
- large language model (LLM) orchestration — the central orchestration layer over the provider SDKs
- Source package architecture — how a domain capability is structured as a workspace package
- MCP patterns — how primitives are injected and called across packages
Objects and data
Section titled “Objects and data”- Objects layer — the platform’s typed object store, dual-write hooks, registration
- Objects: the canonical surface — the unified object model and its primitives
- Objects surface unification — the consolidation onto the canonical objects surface
Authoring agents
Section titled “Authoring agents”- Developing agents — the file-driven contributor authoring loop
- Agent development guide — building an agent end to end
- Agent spec — compact Open Agent Specification (OAS) Flow — the
oas.jsonagent definition format - Agent packaging — canonical packaging conventions
- Agent context slots — how context is injected into a run
- ensureAgentPackage — the system-provided agent startup pattern
- Chat agent authoring review — the in-chat authoring review loop
Extensions
Section titled “Extensions”- 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.jsonoperator surface, never a bespoke route tree - Cinatra BPMN Profile 1.0 — the
cinatra/workflow.bpmnauthoring profile: supported constructs, the 12cinatra:elements, and the BPMN→WorkflowSpec mapping
Building and extending
Section titled “Building and extending”- Building TypeScript packages for extensions — extension architecture and package conventions
- Shell skills — give an agent shell tool access
Artifacts
Section titled “Artifacts”- Artifacts — architecture, threat model and invariants
- Artifacts — LLM attachments and prompt-window upload
- Artifacts — preflight and legacy-media purge gate
- Authoring semantic artifact extensions
Skills
Section titled “Skills”- Skill matching — the LLM evaluator, OpenAI batch, and visibility filter
- Skills storage layout — where skills live on disk and in the catalog
Connectors
Section titled “Connectors”- Integrating Cinatra with a CMS — the WordPress and Drupal reference integrations, plus how to wire a third CMS the same way
- WordPress plugin / Drupal module development — where commits go now that the plugin/module live in extracted repos, the
cinatra setup devclone-sync workflow, and contract-version bumps - Email connector — the provider-neutral transport facade
- Blog and social-media connectors — provider-neutral transport facades
- Drupal connector — the Drupal integration pattern
- CRM connector — the provider-neutral CRM facade (Twenty), retired-package story, deeplink UI, and pointer-row model
- Connector setup-page route extraction — the setup-page route contract
Open standards
Section titled “Open standards”- 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
Platform features (implementation)
Section titled “Platform features (implementation)”- Dashboards platform — the implementation behind the user-facing dashboards
- Release workflows — the engine behind the user-facing release workflows
- Notifications — the notification subsystem
- Data safety: undo and versioning — the version history and rollback model behind the user-facing undo and history
- Project scoping — the project ownership and access model
- Authorization admin powers — how elevated authorization is granted and enforced
- Clone-on-demand worktrees — heavy deep-fork clone tooling for isolated development
Integrations
Section titled “Integrations”- ChatGPT built-in assistant
- Gemini built-in assistant — documented design, not currently wired into the chat surface
Deep references
Section titled “Deep references”Advanced, internal engineering references — contributor material, not part of the day-to-day developer flow.
- WayFlow (Cinatra’s OAS Flow agent runtime)
InputMessageNodecontract - WayFlow
user_envelopecontract - WayFlow runtime hot-reload
- BullMQ (a Redis-backed job queue) and agent runtime boundary
- Headless e2e hydration requirements
- role-based access control (RBAC) browser e2e in CI
- Testing doctrine
- Wave execution policy
- Dev-mode build-performance harness —
pnpm route-graph/pnpm bench:cold-start/pnpm dev:stop+ the build-performance acceptance contract
Contribute
Section titled “Contribute”Where to go next
Section titled “Where to go next”- The MCP architecture underpinning every cross-package call: Internal architecture
- The runtime configuration surface: Configuration