Developer Docs
The Keystone Experience
Discover the vision behind Keystone and what it's like to work with. If you’ve just heard of Keystone, start here first:
For Developers →
Built the way you’d want it made. Keystone fits with the tools you know and love.
For Editors →
The configurable editing environment you need to do your best work.
For Organisations →
Own your data. Start fast. Find your audience anywhere. Scale on your terms.
Walkthroughs
Step-by-step instructions for getting things done with Keystone.
Lesson 1: Installing Keystone →
Get Keystone up and running with your first content type
Lesson 2: Relating things →
Connect two content types and learn how to configure the appearance of field inputs
Lesson 3: Publishing Workflows →
Support publishing needs with Keystone's select
and timestamp
fields
Lesson 4: Auth & Sessions →
Add sessions, password protection, and a sign-in screen to your Keystone app
Lesson 5: Rich Text →
Add a powerful document
field to your app and learn how to configure it to meet your needs
Guides
Practical explanations of Keystone’s fundamental building blocks. When you’re trying to get something done, Keystone guides show you how to think about, and get the most out of each feature.
Command Line Foundations →
Keystone’s CLI helps you develop, build, and deploy projects. This guide explains all you need to standup a new backend in the terminal.
Understanding Relationships →
Learn how to reason about and configure relationships in Keystone, so you can bring value to your project through structured content.
GraphQL Queries - Filters →
Query filters are an integral part of Keystone’s powerful GraphQL APIs. This guide will show you how to use filters to get the data you need from your system.
Understanding Hooks →
Learn how to use Hooks within your schema to extend Keystone’s powerful CRUD GraphQL APIs with your own business logic.
How To Use Document Fields →
Keystone’s document field is a highly customisable rich text editor that stores content as structured JSON. Learn how to configure it and incorporate your own custom React components.
Document Field Demo →
Test drive the many features of Keystone’s Document field on this website.
Custom Fields →
Learn how to define your own custom field types in Keystone, with customisable backend data structure, and Admin UI appearance.
Testing Guide →
Learn how to test the behaviour of your Keystone system to ensure it does what you expect.
Virtual Fields →
Virtual fields offer a powerful way to extend your GraphQL API. This guide introduces the syntax and shows you how start simply and end up with a complex result.
Choosing a Database →
Keystone supports Postgres, MySQL and SQLite. This guide explains how to choose the best for your project.
Images and Files →
Learn how to store and manage Images and Files in Keystone.
Example Projects
A growing collection of projects you can run locally to learn more about Keystone features. Use these as a reference for best practice, and a jumping off point when adding features to your own Keystone project. View on Github →
Blog →
A basic Blog schema with Posts and Authors. Use this as a starting place for learning how to use Keystone. It’s also a starter for other feature projects.
Task Manager →
A basic Task Management app, with Tasks and People who can be assigned to tasks. Great for learning how to use Keystone. It’s also a starter for other feature projects.
Default Values →
Demonstrates how to use default values for fields. Builds upon the Task Manager starter project.
Virtual fields →
Implements virtual fields in a Keystone list.
Document field →
Illustrates how to configure document
fields in your Keystone system and render their data in a frontend application.
Testing →
Shows you how to write tests against the GraphQL API to your Keystone system.
Authentication →
Adds password-based authentication to the Task Manager starter project.
Custom Field View →
Adds a custom Admin UI view to a json
field which provides a customised editing experience for users.
Custom Field Type →
Adds a custom field type based on the integer
field type which lets users rate items on a 5-star scale.
Custom Admin UI Pages →
Adds a custom page in the Admin UI.
Custom Admin UI Logo →
Adds a custom logo component in the Admin UI.
Custom Admin UI Navigation →
Adds a custom Navigation component to the Admin UI.
Document Field Customisation →
Example to demonstrate customisation of Keystone's document field and document renderer.
Learn with others in a supportive community
Share your work and get the help you need in the Keystone community Slack: an inclusive space to share ideas and explore what‘s possible.
Join the community Slack- 2500+ members
- Personalised support