"We can make the same software we're making today with dramatically simpler stuff." - Rich Hickey

Stay tuned!

When Jangle is released, this guide will take you through the CMS in more depth.

Here's a preview of how that might look.

Simple and free.

I hope you like clicking buttons- because that's all it takes to start using Jangle:

Deploy to Heroku

Running it locally

You don't need Heroku to try out Jangle, just run it locally!

Run our example (Docker)

  1. Clone the Github repo
git clone
  1. Enter the example folder:
cd example
  1. And run everything with Docker
docker-compose up
  1. Jangle should be ready at http://localhost:3000

From scratch (NodeJS + Mongo)

Make sure you have NodeJS v10.15 and MongoDB 4.0.8 installed.

  1. Install Jangle via NPM:
npm install -g @jangle/cms
  1. Roll your own config.yml file:
    name: text
    email: email?
    title: text
    date: date
    authors: Author[]
    content: richText
  1. And use the jangle command to spin up a thing:
jangle config.yml

Either way you go, Jangle will be running at http://localhost:3000

Stay tuned!

The guide is on its way! 🎉

A quick breakdown

Here's the sample Jangle config.yml from the official example:

    name: text
    email: email?
    title: text
    date: date
    authors: Author[]
    content: richText

This config file introduces two important concepts for describing content with Jangle:

  1. Models - The types of items you'd like to keep track of.

  2. Fields - The stuff that each of those items store.


When Jangle sees this YAML file, it makes two models:

  1. Author - a List of items that have a name and optional email.

    • name - a required text field.

    • email - an optional email address field.

  2. BlogPost - a List of items that have a title, date, authors, and content.

    • title - a required text field.

    • date - a required date field.

    • authors - a list of relationship fields, that deal with our Author model.

    • content - a richText field, that supports headers, lists, bold, italics etc.

Field Types

Jangle comes with built-in field types, which are covered in the docs section.

In this example, we are using five built-in types:

  1. text - Just a single line of text.
  2. email? - A single email address (The ? is shorthand for "optional")
  3. date - A field for tracking a date value
  4. Author[] - a relationship picker for many Author models (The [] is short for many)

Both the email? and Author[] types use shorthand that we'll see in detail soon.

As you might expect, Jangle can automatically create a backend UI for content-entry, REST API endpoints, and will do all the cool history, user authentication, and publishing stuff that every CMS should support.