Skip to content
KeystoneJS LogoKeystoneJSv5

Getting Started

Your first KeystoneJS app in 5 minutes.

This quick start guide will get you up and running in just a few minutes. Let's build a simple todo app with a fresh install of Keystone 5!

Screenshot of KeystoneJS Todo App


Before we start, check that your computer or server meets the following requirements:

  • Node.js >= 10.x: Node.js is a server platform which runs JavaScript.

And ONE of the following databases:

  • MongoDB >= 4.x: MongoDB is a powerful NoSQL document storage database.
  • Postgres >= 9.x: PostgreSQL is an open source relational database that uses the SQL language.

Finally, make sure your database is configured and running.

All set? Great, let's get started!


To create a new KeystoneJS application, run the following commands in your terminal:

npm init keystone-app my-app

or with yarn:

yarn create keystone-app my-app

You'll be prompted with a few questions:

  1. What is your project name? Pick any name for your project. You can change it later if you like.
  2. Select a starter project. Select the Todo application if you wish to follow this guide.
  3. Select an adapter. We'll go more into database adapters later. For now, simply choose Mongoose if you're running a MongoDB database and Knex if you're running a Postgres one.

If you want to perform an unattended app generation (i.e. skipping the prompts), see the CLI arguments of the create-keystone-app utility script.

Wait a few minutes for all the project dependencies to install. Once that's finished, run this:

cd my-app
npm run dev

Congratulations! 🎉

You are now running your very own KeystoneJS application! Here's what you get out of the box:

A simple todo application

Your app is up and running at the following URL:


An Admin UI for content management

Your application also has an Admin UI, which lets you directly manipulate the data in your database:



Both your application and the Admin UI are powered by a GraphQL API. KeystoneJS provides a web interface for this API at this URL:


What next?

This todo app is a good introduction to KeystoneJS, but chances are you'll want to build something a bit more complex and secure than that!

The guides section is a great next step. It will walk you through concepts like creating lists, setting up content relationships, managing Access control and much more.

Have you found a mistake, something that is missing, or could be improved on this page? Please edit the Markdown file on GitHub and submit a PR with your changes.

Edit Page