Features Apograph CMS on GitHub

Documentation

89 pages. How content is modelled, delivered, extended and run — written against the source, and honest about where a feature stops.

Getting started

What Apograph is, how it is put together, and how to find your way around the codebase.

Modelling content

Content types in TypeScript, the fields and relations they carry, and the Postgres tables they become.

Working in the admin

The content library, the entry editor, media, translations and version history, from a developer’s side of the screen.

Delivering content

The public REST and GraphQL APIs, the tokens that reach them, and how to query, filter and expand.

AI and agents

Apograph AI in the product, the MCP endpoint external agents connect to, and the authority both are held to.

Plugins

Every plugin a deployment can register: what it does, what to install, and what it reads from the environment.

Extending Apograph

Writing a plugin: the two contracts, the extension points, the data layer and the test harnesses.

Running Apograph

Configuration, the database, media storage, and the security posture you are taking on by self-hosting.

Reference

The tables to look things up in — field types, permission keys, environment variables, endpoints and terms.

The plugin catalogue, as a map

Every cell is a plugin with a page in the section above. The colour is its group; the dark ones are what every deployment has.

  • Create
  • Ship
  • Run
  • Build
  • Every deployment

Two arrays in your app decide what the API serves and what the admin renders. Remove a cell and that capability is gone, with no dead code behind it; add your own on the same contract and it sits in the same list. Each cell links to that plugin's page.