explaingit

skelpo/cms

Analysis updated 2026-05-18

15TypeScriptAudience · developerComplexity · 3/5LicenseSetup · moderate

TLDR

A fast, opinionated headless content management system for agency and small business websites, built in TypeScript with a fixed set of design choices.

Mindmap

mindmap
  root((Skelpo CMS))
    What it does
      Headless content backend and admin panel
      REST API for all content actions
      Separate customer owned frontend
    Tech stack
      TypeScript
      MySQL
      Perry AOT and Node and Bun
    Use cases
      Agency and small business sites
      Marketing pages and blogs
      Documentation portals
    Audience
      Developers
      Small agencies
    Design choices
      No plugins or themes
      One rich text editor
      Single tenant deploys

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Run a fast, low maintenance CMS backend for an agency or small business website.

USE CASE 2

Build a custom frontend that pulls content, menus, and settings from a headless CMS API.

USE CASE 3

Manage forms, media uploads, and scheduled content publishing through one admin panel.

USE CASE 4

Deploy a single tenant CMS as a standalone binary, Docker image, or npm package.

What is it built with?

TypeScriptMySQLNode.jsBunHTMX

How does it compare?

skelpo/cmsaredotna/api-examplesceelog/openweread
Stars151515
LanguageTypeScriptTypeScriptTypeScript
Setup difficultymoderatemoderatemoderate
Complexity3/52/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires a MySQL database and a separate frontend codebase to render public pages.

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

In plain English

Skelpo CMS is a content management system built specifically for the kind of website most businesses actually need: agency homepages, small business sites, marketing pages, documentation, and blogs. It is not trying to be an all purpose platform, an online store, or a forum, and it explicitly points people to other tools for those jobs. It is a headless CMS, meaning it only provides a backend and an admin panel for editing content. The public facing website is a completely separate codebase, owned and built by whoever is running the site, which talks to the CMS through a REST API. Every action in the admin panel goes through that same API, so there is no hidden special path. The project describes itself as opinionated: it ships with one rich text editor, one fixed set of eleven form field types, and one email backend configured at a time, rather than offering many configuration options. A short list of firm design choices shapes the whole project. It only supports MySQL as a database, has no plugin system or theme marketplace, requires meta descriptions and image alt text before content can be published, always sends emails asynchronously so failures do not block content saves, and treats good runtime performance as something checked automatically before code can be merged. It is meant to run as a single deployment per website rather than serving many customers from one shared instance. Under the hood, the project is written in native TypeScript and is designed to run especially well when compiled ahead of time with a tool called Perry, though it also runs normally on Node.js and Bun. It ships as three things: a small standalone binary, a Docker image, and an npm package, plus companion packages for talking to the CMS from a customer's own frontend code. As of the version described in the README, the backend, the admin interface, the client library, and a starter site kit are all built and have been verified end to end on a real example site. This project fits developers and small agencies who want a fast, low maintenance CMS and are comfortable accepting its fixed set of choices rather than a highly customizable system. The full README is longer than what was shown.

Copy-paste prompts

Prompt 1
Help me set up Skelpo CMS with MySQL and connect a custom frontend using @skelpo/cms-client.
Prompt 2
Explain why Skelpo CMS has no plugin system and what the alternative extension points are.
Prompt 3
Show me how to deploy Skelpo CMS as a Docker image versus the Perry compiled binary.
Prompt 4
Help me build a simple marketing page frontend that fetches content from the Skelpo CMS REST API.
Prompt 5
Explain the required SEO fields Skelpo CMS enforces before content can be published.

Frequently asked questions

What is cms?

A fast, opinionated headless content management system for agency and small business websites, built in TypeScript with a fixed set of design choices.

What language is cms written in?

Mainly TypeScript. The stack also includes TypeScript, MySQL, Node.js.

What license does cms use?

Use freely for any purpose, including commercial use, as long as you keep the copyright notice.

How hard is cms to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is cms for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.