emdash  by emdash-cms

A type-safe, full-stack CMS built on Astro for serverless architectures

Created 2 days ago

New!

4,583 stars

Top 10.6% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

A full-stack TypeScript CMS built on Astro, EmDash aims to be a modern, serverless successor to WordPress. It targets developers and power users seeking a secure, extensible, and type-safe content management system that leverages serverless architectures and modern web technologies. EmDash offers enhanced security through sandboxed plugins and decouples content management from presentation using structured data formats.

How It Works

EmDash functions as an Astro integration, providing a comprehensive CMS backend including an admin panel, REST API, authentication, and a plugin system. Its core innovation is the use of sandboxed plugins executed within isolated Cloudflare Worker isolates via Dynamic Worker Loaders, enforcing security through declared capability manifests. Content is managed using Portable Text, a structured JSON format that separates content from its rendering, enabling flexible output across various platforms. The system also integrates AI agent skills for development assistance and direct interaction with AI tools.

Quick Start & Requirements

  • Install: npm create emdash@latest
  • Prerequisites:
    • Full plugin functionality requires a paid Cloudflare account for Dynamic Workers. Plugins can be disabled by commenting out worker_loaders in wrangler.jsonc for development or non-paid accounts.
    • Deployment targets Cloudflare (D1, R2, Workers) or any Node.js server with SQLite.
  • Links:
    • Demo: pnpm --filter emdash-demo dev (local Node.js + SQLite)
    • Documentation: Mentioned as available, but no direct URL provided.

Highlighted Details

  • Sandboxed Plugins: Secure plugin execution in isolated Worker environments with capability-based access control.
  • Structured Content: Utilizes Portable Text (JSON) for content, decoupling it from presentation layers.
  • AI Integration: Features agent skills for AI-assisted plugin/theme development and an MCP server for direct AI tool interaction.
  • Platform Agnostic: Designed for Cloudflare but portable to SQLite, Turso, PostgreSQL, AWS S3, and local storage.
  • WordPress Migration: Includes a wizard and agent skills to facilitate migration from WordPress.

Maintenance & Community

The project welcomes contributions, feedback, plugins, and themes, with a CONTRIBUTING.md file available. No specific community channels (e.g., Discord, Slack) or notable sponsorships are detailed in the provided README.

Licensing & Compatibility

The README does not specify a software license. This omission prevents a clear assessment of commercial use compatibility or other licensing restrictions.

Limitations & Caveats

EmDash is currently in a "beta preview" state. Full plugin functionality is dependent on a paid Cloudflare account due to the reliance on Dynamic Workers. The absence of a stated license is a significant barrier to adoption.

Health Check
Last Commit

11 hours ago

Responsiveness

Inactive

Pull Requests (30d)
83
Issues (30d)
59
Star History
4,680 stars in the last 2 days

Explore Similar Projects

Starred by John Resig John Resig(Author of jQuery; Chief Software Architect at Khan Academy), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
2 more.

mcp-server-cloudflare by cloudflare

0.5%
4k
MCP servers for LLM integration with Cloudflare services
Created 1 year ago
Updated 3 days ago
Feedback? Help us improve.