EmDash: A full-stack TypeScript CMS built on Astro, the spiritual successor to WordPress (14k stars)
What it does
All text below is quoted directly from the project README.
>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.
Features:
- Content -- Blog posts, pages, custom content types. Rich text editing via TipTap with Portable Text storage. Revisions, drafts, scheduled publishing, full-text search (FTS5), inline visual editing.
- Admin -- Full admin panel with visual schema builder, media library (drag-drop uploads via signed URLs), navigation menus, taxonomies, widgets, and a WordPress import wizard.
- Auth -- Passkey-first (WebAuthn) with OAuth and magic link fallbacks. Role-based access control: Administrator, Editor, Author, Contributor.
- Plugins -- definePlugin() API with lifecycle hooks, KV storage, settings, admin pages, dashboard widgets, custom block types, and API routes. Sandboxed execution on Cloudflare via Dynamic Worker Loaders, and on Node.js in a workerd child process.
- Agents -- Agent skills for AI-assisted site, plugin, and theme development. CLI for programmatic site management. Built-in MCP server for direct AI tool integration.
- WordPress migration -- Import posts, pages, media, and taxonomies from WXR exports, the WordPress REST API, or WordPress.com. Agent skills help port plugins and themes.
>npm create emdash@latest
Repository
emdash-cms/emdash
Repository stats
|Metric|Value|
|:-|:-|
|Stars|13,844|
|Forks|1,320|
|Last release|@emdash-cms/plugin-test@0.2.10 (2026-10-18)|
|Languages|TypeScript 94.5%, Astro 4.3%, CSS 0.6%|
|Contributors|217|
|AI contributor accounts (Claude / Codex / Cursor / Copilot)|Copilot: 21, cursoragent: 4, claude: 180|
|AI co-authored commits|Claude: 182, Codex: 1, Cursor: 4, Copilot: 21|
Main contributor
|Field|Value|
|:-|:-|
|Name|Matt Kane|
|GitHub|@ascorbic|
|Commits to this repo|981 (top contributor)|
|Bio|Astro core maintainer. Created EmDash and Unpic.|
|Company / Location|@cloudflare / UK|
|X / Twitter|@ascorbic|
|Followers|1458|
|Public repos|332|
|On GitHub since|2010-03-01|
──────────────────────────────
📌 How many great GitHub repos have you discovered and completely forgotten about?
Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week.
📬 Never lose track of great repos again. Subscribe free.
5 points
Mentions
EmDash: A full-stack TypeScript CMS built on Astro, the spiritual successor to WordPress (14k stars) What it does All text below is quoted directly from the project README. >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. Features: - Content -- Blog posts, pages, custom content types. Rich text editing via TipTap with Portable Text storage. Revisions, drafts, scheduled publishing, full-text search (FTS5), inline visual editing. - Admin -- Full admin panel with visual schema builder, media library (drag-drop uploads via signed URLs), navigation menus, taxonomies, widgets, and a WordPress import wizard. - Auth -- Passkey-first (WebAuthn) with OAuth and magic link fallbacks. Role-based access control: Administrator, Editor, Author, Contributor. - Plugins -- definePlugin() API with lifecycle hooks, KV storage, settings, admin pages, dashboard widgets, custom block types, and API routes. Sandboxed execution on Cloudflare via Dynamic Worker Loaders, and on Node.js in a workerd child process. - Agents -- Agent skills for AI-assisted site, plugin, and theme development. CLI for programmatic site management. Built-in MCP server for direct AI tool integration. - WordPress migration -- Import posts, pages, media, and taxonomies from WXR exports, the WordPress REST API, or WordPress.com. Agent skills help port plugins and themes. >npm create emdash@latest Repository emdash-cms/emdash Repository stats |Metric|Value| |:-|:-| |Stars|13,844| |Forks|1,320| |Last release|@emdash-cms/plugin-test@0.2.10 (2026-10-18)| |Languages|TypeScript 94.5%, Astro 4.3%, CSS 0.6%| |Contributors|217| |AI contributor accounts (Claude / Codex / Cursor / Copilot)|Copilot: 21, cursoragent: 4, claude: 180| |AI co-authored commits|Claude: 182, Codex: 1, Cursor: 4, Copilot: 21| Main contributor |Field|Value| |:-|:-| |Name|Matt Kane| |GitHub|@ascorbic| |Commits to this repo|981 (top contributor)| |Bio|Astro core maintainer. Created EmDash and Unpic.| |Company / Location|@cloudflare / UK| |X / Twitter|@ascorbic| |Followers|1458| |Public repos|332| |On GitHub since|2010-03-01| ────────────────────────────── 📌 How many great GitHub repos have you discovered and completely forgotten about? Don't let another useful tool disappear into your Reddit feed. Get the community's best repos, organized by category, plus key takeaways from real developer discussions, delivered to your inbox twice a week. 📬 Never lose track of great repos again. Subscribe free.
PDS実装のCIRRUSはパスキーの認証に対応しているよ ascorbic/cirrus