DEV Community

Alex Spinov
Alex Spinov

Posted on

KeystoneJS Has a Free CMS Framework That Generates a GraphQL API From Your Schema

KeystoneJS is a powerful headless CMS and web application framework. Define your schema in TypeScript — it generates a GraphQL API and admin UI.

What You Get for Free

  • Schema-driven — TypeScript schema generates everything
  • GraphQL API — auto-generated from your lists
  • Admin UI — auto-generated CRUD interface
  • Authentication — session-based auth built-in
  • Access control — field and operation level
  • Document field — structured content editing
  • Prisma ORM — PostgreSQL or SQLite

Define a List

import { list } from '@keystone-6/core';
import { text, timestamp, select } from '@keystone-6/core/fields';

export const Post = list({
  fields: {
    title: text({ validation: { isRequired: true } }),
    status: select({ options: ['draft', 'published'] }),
    publishedAt: timestamp(),
  },
});
Enter fullscreen mode Exit fullscreen mode

KeystoneJS vs Payload

Feature Keystone Payload
API GraphQL REST + GraphQL
ORM Prisma Own ORM
Admin Auto-generated Customizable React

Need a GraphQL CMS? Check my work on GitHub or email spinov001@gmail.com for consulting.

Top comments (0)