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.
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
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
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
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.