explaingit

emdash-cms/emdash

10,474TypeScriptAudience · vibe coderComplexity · 3/5Setup · moderate

TLDR

EmDash is a modern content management system for blogs, portfolios, and marketing sites that replaces WordPress with safer isolated plugins, runs on Cloudflare, and includes AI assistant integration and a visual admin panel out of the box.

Mindmap

mindmap
  root((emdash))
    What it does
      Blog and portfolio CMS
      Replaces WordPress
      Admin panel included
    Content features
      Markdown storage
      Scheduled publishing
      Full-text search
      Media library
    Tech stack
      Astro framework
      Cloudflare infra
      SQLite local dev
    Unique features
      Isolated plugins
      AI MCP server
      WordPress import
Click or tap to explore — scroll the page freely

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

Things people build with this

USE CASE 1

Launch a blog or portfolio site with a built-in admin panel and scheduled publishing using a single setup command

USE CASE 2

Migrate an existing WordPress site to EmDash using the included content import tool

USE CASE 3

Build a marketing landing page with full-text search and media library, then let an AI assistant manage content through the built-in MCP server

Tech stack

TypeScriptAstroCloudflareSQLite

Getting it running

Difficulty · moderate Time to first run · 30min

Best deployed on Cloudflare Workers and D1, local development uses SQLite and requires Node.js.

License not specified in the explanation.

In plain English

EmDash is a content management system, which is the type of software that powers websites like blogs, portfolios, and marketing pages, letting non-developers write and publish content through an admin panel. The project positions itself as a modern replacement for WordPress, built with current web technologies instead of PHP. The system runs on Astro, a framework for building fast websites, and is designed to run best on Cloudflare's infrastructure, which handles the database, file storage, and server execution. It can also run on a regular server using SQLite, a simple local database. Setup starts with a single command that creates a new project, and the admin panel is included automatically. One of the main design differences from WordPress is how plugins work. In WordPress, plugins run with full access to the database and files, which means a single buggy or malicious plugin can damage the whole site. In EmDash, each plugin declares in advance what it is allowed to do, such as sending email or reading content, and runs in an isolated execution environment that enforces those limits. The README cites research claiming 96 percent of WordPress security problems come from plugins, which is the problem this architecture is meant to address. Content is stored in structured JSON format rather than as raw HTML. The README explains this means the same content can be displayed on a web page, a mobile app, or an email without having to parse HTML. EmDash ships with three starter templates: a blog, a marketing landing page, and a portfolio. The admin panel includes a visual schema builder, a media library for images and files, full-text search, scheduled publishing, and a tool for importing existing WordPress content. Authentication supports passkeys, OAuth, and magic links. There is also built-in support for AI tools: the README describes a Model Context Protocol server that lets AI assistants interact with the site directly, and CLI tools designed for AI-assisted plugin development. The project is in beta preview as of the README.

Copy-paste prompts

Prompt 1
Walk me through setting up a new EmDash blog on Cloudflare from scratch, including the admin panel, schema builder, and deploying the first post
Prompt 2
I want to migrate my WordPress blog to EmDash, show me how to use the import tool and what gets transferred automatically
Prompt 3
How do I build a custom EmDash plugin that sends an email notification when a new post is published, using the plugin permission system?
Prompt 4
Show me how to connect an AI assistant like Claude or Cursor to an EmDash site using the built-in MCP server to create and edit content
Open on GitHub → Explain another repo

← emdash-cms on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.