OpenAltFinder
EmDash

EmDash

A full-stack TypeScript CMS built on Astro and Cloudflare, reimagining WordPress with serverless, type-safe foundations.

Open source alternative to:

_image.webp

EmDash is a modern, full-stack CMS built entirely in TypeScript, running on Astro and Cloudflare Workers. It takes the best ideas from WordPress — extensibility, a rich admin UX, and a plugin ecosystem — and rebuilds them on a serverless, type-safe stack.

Instead of raw HTML serialization, EmDash uses Portable Text for structured content. Plugins run in a sandboxed environment for security, and the system supports deployment on both Cloudflare Workers and traditional Node.js servers.

With 6,400+ GitHub stars since its April 2026 launch, EmDash is gaining rapid traction as a developer-first alternative to WordPress for teams who want modern tooling without sacrificing editorial flexibility.

Frequently Asked Questions

What is EmDash?

EmDash is an open source, full-stack TypeScript CMS built on Astro and Cloudflare. It takes the extensibility, admin UX, and plugin ecosystem that made WordPress dominant and rebuilds them on serverless, type-safe foundations — no PHP required.

How does EmDash compare to WordPress?

EmDash is described as the spiritual successor to WordPress. It offers similar features — custom content types, drafts, revisions, scheduling, taxonomies, menus, and live preview — but improves on WordPress in three key areas: plugin security (plugins run in isolated sandboxes instead of having full system access), structured content (Portable Text instead of serialized HTML), and developer experience (TypeScript end-to-end instead of PHP).

Do I need an AI agent to use EmDash?

No. EmDash is a fully functional CMS whether you use AI or not. However, it ships with a built-in MCP server that exposes content, schema, media, taxonomies, and revisions to AI tools like Claude and OpenCode. This lets you delegate routine content tasks to an agent — turning chores that were tedious in other CMSs into automated workflows.

How are plugins secured in EmDash?

WordPress plugins have full access to the database, filesystem, and user data — 96% of WordPress security vulnerabilities come from plugins. EmDash solves this by running plugins in isolated Cloudflare Worker sandboxes via Dynamic Worker Loaders. Each plugin declares a capability manifest (e.g. read:content, email:send) and can do exactly that — nothing more.

Where can I deploy EmDash?

EmDash runs best on Cloudflare (D1 database + R2 storage + Workers), but it is not locked to it. It uses portable abstractions at every layer — Kysely for SQL and the S3 API for storage — so it also works with SQLite, Turso, PostgreSQL, AWS S3, or local files on any Node.js server. Note: sandboxed plugins require a Cloudflare paid account (Dynamic Workers).

How do I get started with EmDash?

The fastest way is to try the playground for an instant sandbox. To scaffold a new project locally, run:

npm create emdash@latest

EmDash ships with three starter templates — Blog, Marketing, and Portfolio — so you can pick the closest match and customize from there. You can also deploy directly to Cloudflare with the one-click button in the GitHub repo.

AI usage detected - recent commits in this repository appear to include AI-generated code.
OpenAltFinder Score
80/100
Project Health (50%)
60/100
License (20%)
100/100
Self-hostable (20%)
100/100
Recency (10%)
100/100
How scoring works
Project Details
License
MIT
Self hostable
Yes
AI Contributions
Detected
Repository details
Version
@emdash-cms/[email protected]
Created
4/1/2026
Stars
13,292
Forks
1,254
Open issues
346
Last commit
10/2/2026

Updated 10/2/2026, 2:00:39 PM

View Repository
Repository activity

Similar open source alternatives