Keystone helps you build faster and scale further than any other CMS or App Framework. Just describe your schema, and get a powerful GraphQL API & beautiful Management UI for content and data.
No boilerplate or bootstrapping – just elegant APIs to help you ship the code that matters without sacrificing the flexibility or power of a bespoke back-end.
Keystone 6 is the new major version of KeystoneJS, the most powerful headless content management system around. We've substantially rewritten the CLI, Schema config, and Admin UI to make them more powerful and easier to use than ever before.
Keystone 6 is published on npm under the @keystone-6
namespace. To learn about where we’re taking Keystone check out our Roadmap.
The Keystone 5 codebase is now in maintenance mode and lives at keystonejs/keystone-5. For more information read Keystone 5 and beyond.
Keystone 6 documentation lives on the website:
- Read Why Keystone to learn about our vision and what's in the box.
- Getting Started walks you through first steps with the
create-keystone-app
CLI. - The Examples directory contains a growing collection of projects you can run locally to learn more about a Keystone feature.
- API Reference contains the details on Keystone's foundations building blocks.
- Guides offer practical explainers on how to build with those blocks.
💡
API Docs
are complete. We're working hard on expanding coverage in ourguides
andwalkthroughs
.
- Star this repo 🌟 ☝️
- Follow Keystone on Twitter
- Join the conversation in Keystone community Slack.
Share your thoughts and feature requests on Slack (preferred) or Twitter. Bugfixes and issues always welcome.
We do our best to follow SemVer version control within Keystone. This means package versions have 3 numbers. A change in the first number indicates a breaking change, the second number indicates backward compatible feature and the third number indicates a bug fix.
You can find changelogs either by browsing our repository, or by using our interactive changelog explorer.
A quick note on dependency management: Keystone is organised into a number of small packages within a monorepo. When packages in the same repository depend on each other, new versions might not be compatible with older versions. If two or more packages are updated, it can result in breaking changes, even though collectively they appear to be non-breaking.
We do our best to catch this but recommend updating Keystone packages together to avoid any potential conflict. This is especially important to be aware of if you use automated dependency management tools like Greenkeeper.
KeystoneJS adheres to the Contributor Covenant Code of Conduct.
For vulnerability reporting, please refer to our security policy.
Copyright (c) 2021 Thinkmill Labs Pty Ltd. Licensed under the MIT License.