Repolode
keystonejs

keystonejs/keystone

A headless CMS for Node.js that generates a GraphQL API and admin UI from your schema definition.

Open-source alternative to:ContentfulStrapi

Stars
9,980
Forks
1,260
Open issues
145
Last commit
2 days ago

What is it?

Keystone is a headless CMS and app framework for Node.js. You describe your data schema in code, and Keystone generates a GraphQL API along with a management interface for creating and editing content, so you don't have to write that boilerplate yourself.

The project is built with GraphQL on the backend and React for the admin UI, and is distributed as the @keystone-6/* packages on npm. It is aimed at developers who want the flexibility of a custom back end without setting up CRUD endpoints and admin screens by hand. Getting started is done through the create-keystone-app CLI.

The repository also hosts examples, guides and an API reference on the project website. Keystone 5 is in maintenance mode and lives in a separate repository.

Key features

  • 01Generates a GraphQL API from a declarative schema definition.
  • 02Provides an admin management UI for editing content.
  • 03Built on Node.js with TypeScript and React.
  • 04Distributed as modular @keystone-6/* npm packages.
  • 05Scaffolds new projects with the create-keystone-app CLI.

Use cases

  • Building a content-managed website or blog with a custom back end.
  • Creating an internal admin tool for managing app data without writing CRUD screens.
  • Serving content to web or mobile front ends through a GraphQL API.

Quick start

  1. 1

    Create a new Keystone app with the CLI

    npm create keystone-app@latest
  2. 2

    Open the Getting Started guide for next steps

Things to know

  • Requires Node.js active LTS or maintenance versions; other Node versions may cause problems.
  • Keystone 5 is in maintenance mode, so new projects should use Keystone 6.

Topics

FAQ

What is keystone?
A headless CMS for Node.js that generates a GraphQL API and admin UI from your schema definition. Keystone is a headless CMS and app framework for Node.js. You describe your data schema in code, and Keystone generates a GraphQL API along with a management interface for creating and editing content, so you don't have to write that boilerplate yourself.
Is keystone free to use? What license does it have?
keystone is open source under the MIT license. Check the license terms before using it in commercial products.
Is keystone still maintained?
Actively maintained. The last commit to keystone was on Oct 20, 2026.
What can I use keystone for?
Building a content-managed website or blog with a custom back end. Creating an internal admin tool for managing app data without writing CRUD screens. Serving content to web or mobile front ends through a GraphQL API.
How do I install keystone?
Create a new Keystone app with the CLI: npm create keystone-app@latest Open the Getting Started guide for next steps
Where can I get keystone?
The source code and installation instructions are on GitHub: https://github.com/keystonejs/keystone

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects