Skip to main content

Keystone

KeystoneJS: The programmable open source CMS for developers

Keystone is the open source programmable backend that allows you to create a highly customised CMS and API in minutes.

It enables a way of building backend solutions that is productive, collaborative, and fun. With Keystone you can start fast and ship at speed without sacrificing your long view.

More than a backend framework, and more than a Headless CMS. Keystone is a platform for next-gen development workflows and evolution.


  Read the docs →
 

Developer Experience

Workflow

  • Fits your git-based workflow & CI
  • Automatic db migrations with Prisma
  • Postgres & SQLite support
  • Self host anywhere. No walled gardens for your content.
  • Built on tooling you know and love

Flexibility

  • Zero assumptions. No hard opinions to lock you in.
  • Smart abstractions for low level tasks
  • Control in the places you need it most
  • Escape hatches where you need them

Community

  • 100% open source & free forever
  • 1 million+ npm downloads
  • 160+ contributors
  • Active Community Slack with reliable support

Features

  • Automated CRUD
  • Extensible GraphQL API
  • Next-gen WYSIWYG
  • Session management
  • 100% Typescript
  • Custom roles & access
  • Flexible relationships
  • Powerful filtering
  • Database migrations
  • Extensive field types
  • Event Hooks
  • Intuitive CLI

How it works

1. Design your schema

Rapidly spec your backend with all the primitive and advanced field types you need. Add logic, access control, and custom queries & mutations to create an API that's unique to your app.
 

  • 100% TypeScript (or JavaScript)
  • Fits your git-based workflow & CI
  • Automatic db migrations with Prisma
Code example of Keystone configuration schema

2. Customise your content story

A flexible and intuitive editing environment that does what your schema says: Keystone’s Admin UI understands your access control, so you can shape it to your unique needs.
 

  • Powerful access control
  • Next-gen rich text WYSIWYG
  • BYO custom React components
Example of Keystone Admin UI editing environment

3. Query your data

Get what you need, fast. Keystone's GraphQL API gives you session management, access control, pagination, sorting, and filtering out of the box. Customise it without losing the bits that work for you.
 

  • Powerful CRUD scaffolding
  • Evolve with bespoke logic for your app
  • Integrate microservices & external APIs
Example of Keystone's build in GraphQL playground

4. Deploy anywhere

Keystone is open source. Deploy it to managed services like Digital Ocean, Heroku, and Render, or your own custom infrastructure. The source of truth is your codebase, so Keystone fits naturally into your git-based development workflow, and you can use all the CI & Automation tooling you already know.


  Start building today →