Stars
Forks
Watchers
Developer links
Keystone
Keystone turns TypeScript schema definitions into a complete GraphQL API and React Admin UI automatically, eliminating the gap between data modeling and application scaffolding. Nearly 10,000 GitHub stars and over 270 contributors across a decade of development back a framework where list definitions map directly to Prisma models on PostgreSQL or SQLite, generating database migrations and exposing every field relationship through Apollo Server's GraphQL endpoint. Granular access control operates at the list, field, and operation level with filter-based restrictions that limit which records users can see, create, update, or delete based on session data and custom logic. The document field provides a structured WYSIWYG editor with content blocks, inline relationships, and custom React components that render consistently across the Admin UI and frontend applications. Event hooks fire before and after create, update, and delete operations for validation, side effects, and external service integration. Custom GraphQL queries and mutations extend the API beyond auto-generated CRUD for bespoke business logic. The Admin UI built with Next.js and the Keystar UI component library supports custom pages, branded navigation, and internationalized interfaces. OpenTelemetry tracing provides observability into operations, queries, and hook execution. Deploys via Docker or any Node.js host with Prisma managing schema evolution. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. MIT licensed.
Benefits
- Schema-Driven API Generation
- Define lists and fields in TypeScript and Keystone automatically generates a complete GraphQL API with CRUD operations, pagination, sorting, filtering, and session management via Apollo Server.
- Auto-Generated React Admin UI
- The Admin UI built with Next.js and Keystar UI scaffolds from your schema definition, enforcing the same access control rules with custom pages, branded navigation, and localized interfaces.
- Granular Access Control System
- List-level, field-level, and operation-level access control with filter-based restrictions that limit record visibility based on session data, roles, and custom TypeScript logic functions.
- Prisma Database Abstraction Layer
- Prisma ORM maps schema definitions to PostgreSQL or SQLite with automatic migration generation, type-safe database queries, and support for complex relationships and unique constraints.
Features
- GraphQL CRUD API
- Apollo Server exposes auto-generated queries, mutations, and filters for every list with pagination, sorting, relationship traversal, and session-based authentication.
- Document Field WYSIWYG
- Structured content editor with blocks, inline relationships, custom React components, and consistent rendering across Admin UI and frontend applications.
- Event Hooks System
- Before and after hooks on create, update, and delete operations enable validation, side effects, audit logging, and external service integration per list.
- Custom Fields and Types
- Extensible field type system includes text, integer, float, decimal, timestamp, select, checkbox, JSON, image, file, relationship, and virtual fields with custom validation.
- OpenTelemetry Tracing
- Built-in OpenTelemetry instrumentation provides distributed tracing for GraphQL operations, database queries, and hook execution across Keystone application components.