CLI-Tool
emdash-cms/emdash avatar
emdash-cms/emdash

EmDash: ein TypeScript-CMS auf Basis von Astro und Cloudflare

EmDash ist ein Full-Stack-TypeScript-CMS, das auf Astro basiert; der spirituelle Nachfolger von WordPress.

12.331 Sterne1.151 ForksTypeScriptMIT

Auf einen Blick

Was ist das?
EmDash baut das WordPress-Plugin-Modell auf serverlosen Grundlagen neu auf, mit sandboxed Worker-Isolierung und strukturierten Inhalten.
Für wen ist es gedacht?
EmDash befindet sich in der Beta-Vorschau. Die README enthält Setup-, Architektur- und Entwicklungsanweisungen, aber keinen Veröffentlichungszeitplan, kein Sicherheitsaudit und keine Produktionssupport-Richtlinie.
Darf ich es kommerziell nutzen?
Ja. MIT ist eine freizügige Lizenz: Sie dürfen darauf aufbauende Software nutzen, verändern und verkaufen, solange Sie die Urheberrechts- und Lizenzhinweise beibehalten.
Wird es noch gepflegt?
Ja. Die letzten Commits kamen vor 1 Tag.
In welcher Sprache ist es geschrieben?
Hauptsächlich TypeScript, laut der Sprachstatistik von GitHub.

Die Antworten beruhen auf den GitHub-Daten des Projekts (zuletzt abgeglichen am 14. September 2026) und auf unserer Analyse. Sie sind keine Rechtsberatung.

TIEFGEHENDE OPEN-SOURCE-ANALYSE

Ein WordPress-artiges CMS auf Astro und Cloudflare

EmDash ist ein Full-Stack-TypeScript-CMS auf der Grundlage von Astro und Cloudflare. Die Repository-Metadaten beschreiben es als Nachfolger von WordPress, und die README sagt, dass es die Ideen, die WordPress dominant gemacht haben, also Erweiterbarkeit, Admin-UX und Plugin-Ökosystem, auf serverlosen, typsicheren Grundlagen neu aufbaut. Plugins laufen in sandboxed Worker-Isolaten, was das Projekt als Lösung für das grundlegende Sicherheitsproblem der WordPress-Plugin-Architektur darstellt. Das Projekt befindet sich in der Beta-Vorschau.

Setup und die Cloudflare-Abhängigkeit

Der Einstiegsbefehl in der README ist `npm create emdash@latest`. EmDash ist für sichere sandboxed Plugins auf Dynamic Workers angewiesen, und Dynamic Workers sind derzeit nur auf kostenpflichtigen Cloudflare-Konten verfügbar. Die README empfiehlt ein Upgrade ab 5 US-Dollar pro Monat oder das Auskommentieren des `worker_loaders`-Blocks in `wrangler.jsonc`, um Plugins zu deaktivieren. EmDash läuft auf Cloudflare D1, R2 und Workers oder auf jedem Node.js-Server mit SQLite. Die README legt nicht fest, wie die Durchsetzung von Plugin-Berechtigungen funktioniert, wenn Plugins deaktiviert sind.

Strukturierte Inhalte mit Portable Text

EmDash speichert Inhalte als Portable Text, ein strukturiertes JSON-Format, statt als serialisiertes HTML mit eingebetteten Metadaten. Die README sagt, dass dies Inhalte von der Darstellung entkoppelt, sodass derselbe Inhalt als Webseite, mobile App, E-Mail oder API-Antwort gerendert werden kann, ohne HTML zu parsen. Inhaltstypen werden in der Datenbank definiert, nicht im Code, und Nicht-Entwickler können Sammlungen über die Admin-Oberfläche erstellen und ändern. Jede Sammlung erhält eine echte SQL-Tabelle mit typisierten Spalten. Entwickler können mit `npx emdash types` TypeScript-Typen aus dem Live-Schema generieren. Rich-Text-Bearbeitung nutzt TipTap, und Abfragen verwenden Astro Live Collections, wie im Beispiel in der README.

Sandboxed Plugins mit Capability-Manifesten

Plugins werden mit einer `definePlugin()`-API geschrieben und deklarieren Fähigkeiten wie `read:content` und `email:send`. Die README enthält ein Plugin-Beispiel, das nach der Veröffentlichung von Inhalten eine E-Mail sendet und dabei einen Lifecycle-Hook verwendet. Auf Cloudflare laufen Plugins in isolierten Worker-Sandboxes über Dynamic Worker Loaders, und jedes Plugin hat ein deklariertes Capability-Manifest. Ein Plugin, das bestimmte Fähigkeiten anfordert, kann genau das tun und sonst nichts. Die README legt nicht dar, wie die Durchsetzung außerhalb von Cloudflare implementiert ist; die Portabilitätstabelle listet In-Process-Ausführung als sicheren Modus auf.

Admin, Authentifizierung und WordPress-Migration

Die Admin-Oberfläche umfasst einen visuellen Schema-Builder, eine Medienbibliothek mit Drag-and-Drop-Uploads über signierte URLs, Navigationsmenüs, Taxonomien, Widgets und einen WordPress-Import-Assistenten. Die Authentifizierung ist passkey-first mit WebAuthn und bietet OAuth- und Magic-Link-Fallbacks. Die rollenbasierte Zugriffskontrolle deckt Administrator, Editor, Autor und Mitwirkender ab. Für Migrationen importiert EmDash Beiträge, Seiten, Medien und Taxonomien aus WXR-Exporten, der WordPress-REST-API oder WordPress.com. Agent-Skills helfen beim Portieren von Plugins und Themes, aber die README beschreibt nicht, wie vollständig dieser Konvertierungsprozess ist.

Portable Plattformabstraktionen

EmDash verwendet auf jeder Ebene portable Abstraktionen, mit Kysely für SQL und der S3-API für Speicherung. Die README listet SQLite, D1, Turso, PostgreSQL, R2, AWS S3 und lokale Dateien als unterstützte Backends auf. Die Portabilitätstabelle zeigt Cloudflare-Dienste neben Alternativen: D1 neben SQLite und Turso oder PostgreSQL, R2 neben jedem S3-kompatiblen Dienst, KV neben Redis oder dateibasierten Sitzungen und Worker-Isolate neben In-Process-Sicherem-Modus. Die README sagt, EmDash laufe am besten auf Cloudflare, sei aber nicht darauf festgelegt. Leistungs- oder Latenzmessungen werden nicht angegeben.

Status, Vorlagen und Entwicklung

EmDash wird mit drei Startvorlagen ausgeliefert: Blog, Marketing und Portfolio, jeweils mit Dunkel- und Hellmodus. Das Repository ist ein pnpm-Monorepo mit Paketen für Core, Auth, Blocks, Cloudflare, Plugins und einen WordPress-Block-Konverter. Für die lokale Entwicklung enthält die README Befehle zum Klonen, Installieren, Bauen und Ausführen einer Demo auf Node.js mit SQLite, ohne Cloudflare-Konto. Der Statusabschnitt sagt Beta-Vorschau und begrüßt Beiträge, mit Links zur Dokumentation und CONTRIBUTING.md. Das Projekt ist unter MIT lizenziert, mit Urheberrecht bei Cloudflare Inc. 2026. Die Lizenz erlaubt Nutzung, Kopie, Modifikation, Zusammenführung, Veröffentlichung, Verteilung, Unterlizenzierung und Verkauf von Kopien und schließt Gewährleistung aus. Sie erwähnt keine Support- oder Wartungszusagen.

Redaktionelles Fazit

EmDash befindet sich in der Beta-Vorschau. Die README enthält Setup-, Architektur- und Entwicklungsanweisungen, aber keinen Veröffentlichungszeitplan, kein Sicherheitsaudit und keine Produktionssupport-Richtlinie. Interessierte Nutzer sollten diese Punkte separat prüfen.

Offizielle Quellen

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Community-Notizen

Community-Notizen