📈 GH Trending Explorer 🎲 Surprise me

← all repos

emdash-cms / emdash

git clone https://github.com/emdash-cms/emdash.git @emdash-cms/plugin-test@0.2.10 · 2d ago 🔥 on GitHub Trending today

EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress

+48
stars, 24h · #204
—
stars, 7 days
—
stars, 30 days
14k
★ total
1.3k
forks · 327 open issues

Star history starts 2026-10-20; the chart appears after the second daily snapshot.

LanguageTypeScript
LicenseMIT
Created2026-04-01 (6mo ago)
Last pushtoday
Watchers73
OwnerOrganization

Seen on GitHub Trending

  • 2026-10-20 — #9 daily in typescript · +48 ★

GitHub topics

Links

README excerpt
# EmDash
A full-stack TypeScript CMS built on Astro. EmDash takes the ideas that made WordPress dominant -- extensibility, admin UX, a plugin ecosystem -- and rebuilds them on serverless, type-safe foundations. Plugins run in sandboxed Worker isolates, solving the fundamental security problem with WordPress's plugin architecture.
## Get Started
 [code] 
Or deploy directly to your Cloudflare account:
EmDash runs on Cloudflare (D1 + R2 + Workers) or any Node.js server with SQLite. No PHP, no separate hosting tier -- just deploy your Astro site.
## Templates
EmDash ships with three starter templates:
### Blog
A classic blog with sidebar widgets, search, and RSS.
- Categories & tags
- Full-text search
- Comment-ready
- RSS feed
- Dark / light mode
### Marketing
A photo-led landing page built from modular blocks.
- Hero with photo and CTAs
- Logo wall, features and stats
- Text and photo sections
- Pricing, FAQ and closing CTA
- Dark / light mode
### Portfolio
A visual portfolio for showcasing creative work.
- Project grid
- Tag filtering
- Case study pages
- RSS feed
- Dark / light mode
## Why EmDash?
**WordPress was built for a different era.** Running WordPress today means managing PHP alongside JavaScript, layering caches to get acceptable performance, and knowing that 96% of WordPress security vulnerabilities come from plugins. EmDash is what WordPress would look like if you started from scratch with today's tools.
**Sandboxed plugins.** WordPress plugins have full access to the database, filesystem, and user data. A single vulnerable plugin can compromise the entire site. EmDash plugins run in isolated Worker sandboxes via Dynamic Worker Loaders, each with a declared capability manifest. A plugin that requests `content:read` and `email:send` can do exactly that and nothing else.
 [code] 
**Structured content, not serialized HTML.** WordPress stores rich text as HTML with metadata embedded in comments -- tying your content to its DOM representation. EmDash uses Portable Text, a structured JSON format that decouples content from presentation. Your content can render as a web page, a mobile app, an email, or an API response without parsing HTML.
**Built for agents.** EmDash publishes agent skills that teach coding assistants its APIs, a CLI that lets agents manage content and schema programmatically, and a built-in MCP server so AI tools like Claude and ChatGPT can interact with your site directly.
**Runs anywhere.** EmDash uses portable abstractions at every layer -- Kysely for SQL, S3 API for storage -- that work with SQLite, D1, Turso, PostgreSQL, R2, AWS S3, or local files. It runs best on Cloudflare, but it's not locked to it.
## How It Works
EmDash is an Astro integration. Add it to your config and you get a complete CMS: admin panel, REST API, authentication, media library, and plugin system.
 [code] 
Content types are defined in the database, not in code. Non-developers create and modify collections through the admin UI. Each collection get