10 EmDash Starter Templates That Redefine What a CMS Can Do

EmDash starter templates are scaffolds for AI agents and developers, not finished themes.

By Central
EmDash is Cloudflare's open-source CMS with four official starter templates.
Highlights
  • EmDash starter templates are scaffolds designed for AI agents or developers to customize.
  • The blog template uses Portable Text (structured JSON) for AI-readable content.
  • EmDash bundles contact forms, SEO, and CAPTCHA into core, reducing plugin dependency.

The most counterintuitive thing about EmDash starter templates is that they aren’t finished themes. They are scaffolds. Each one is designed to be handed off to an AI agent — or a developer — for customization. WordPress themes come with 60,000 options. EmDash comes with four official templates, and the real power is in what you can build from them.

EmDash is Cloudflare’s open-source CMS (v0.1.0 beta), built on Astro and TypeScript. It launches with three official starter templates — blog, marketing, portfolio — plus a blank starter. But the platform’s architecture lets you treat any of these as a foundation for custom content types, sandboxed plugins, and AI-driven workflows. Here are 10 ways to use EmDash starter templates right now.

They are not meant to replace WordPress themes — they are meant to be starting points for a new kind of CMS where AI agents handle customization and security is baked into the architecture.

1. The Blog Template

The blog template ships with posts, categories, tags, comments, and a featured image field. It includes automatic SEO fields (title, meta description, canonical URL) and a built-in sitemap. What you don’t see: the editor uses Portable Text (structured JSON), not HTML. That means AI agents can read and manipulate content without parsing markup. The front end is fully responsive with dark mode support.

Why it matters: This is the fastest way to get a content site live on Cloudflare Workers. No PHP, no database setup. You get D1 (SQLite) for storage and R2 for media with zero egress fees.

2. The Marketing Site Template

This template adds a contact form with Turnstile CAPTCHA integration, a call-to-action section, and social link fields. It pre-creates pages for About, Services, and Contact. The form plugin is built in — you don’t need a third-party service. All submissions are stored as content entries you can review in the admin panel.

Why it matters: Most WordPress marketing sites require 5+ plugins (contact form, SEO, CAPTCHA, redirects, analytics). EmDash bundles the essentials into core. You can add redirects and SEO settings from the same interface.

3. The Portfolio Template

The portfolio template defines a custom content type called “projects.” Each project has fields for client name, year, project URL, description, and multiple images. The admin panel displays these as a gallery view. You can also add a byline field to attribute work to team members.

Why it matters: WordPress requires Advanced Custom Fields or a page builder to create custom post types. EmDash lets you define them in the admin interface (and eventually in code). The portfolio template is a concrete example of how structured content replaces HTML blobs.

4. The Blank Starter Template

Run npm create emdash@latestcodecodecode and choose “starter.” You get a bare-bones site with one page, one post, and no default content types beyond pages and posts. No sample data. No theme styling beyond a clean base.

Why it matters: This is the template for developers who want to build from scratch. You can define your own content types, create custom Astro layouts, and wire up plugins. It’s also the best starting point for AI agents — you can prompt an agent to “add a products content type with price and description fields” and it will generate the schema directly.

5. The Hybrid Blog + Portfolio Template

No official “hybrid” template exists, but you can create one by starting with the blog template and then adding a custom content type for projects. The admin panel will show both in the sidebar. You can even create a custom homepage that lists recent posts and featured projects using Astro components.

Why it matters: This demonstrates EmDash’s flexibility. Unlike WordPress where custom post types require a plugin, EmDash lets you add content types without touching code. The hybrid approach works for freelancers who want a blog and a portfolio in one site.

6. The i18n-Ready Template

EmDash ships multilingual support out of the box. The blog and marketing templates include a language switch in the admin panel. You can add translations for any content type — posts, pages, projects, even custom fields. The system uses separate content entries per language, not a single entry with language tags.

Why it matters: WordPress needs a plugin like Polylang or WPML for multilingual sites. EmDash includes it natively. If you plan to serve audiences in multiple languages, this template saves weeks of setup.

7. The AI-Native Template

Every EmDash instance includes a built-in MCP server. The AI-native template is really the blank starter pre-configured with agent skills files. These are structured documents that tell AI coding tools (Claude, Cursor, Copilot) exactly how to interact with the CMS. You can prompt an agent to “add a newsletter signup section to the homepage” and it will create the component, register the plugin, and update the layout.

Why it matters: This is the template for teams that want to delegate routine content management to AI. The agent can create posts, upload media, modify menus, and even generate new themes — all within scoped permissions.

8. The Headless API Template

EmDash is full-stack by default (admin and front end in one repo). But you can use it headless. Start with the blank starter, disable the built-in front end, and expose the REST API. Then build a separate front end in React, Vue, or Svelte. The API tokens page lets you generate granular permissions (read content, write content, manage users) with expiration dates.

Why it matters: WordPress headless setups require extra plugins (WPGraphQL) and custom endpoints. EmDash’s API is built in. This template works for mobile apps, static site generators, or custom dashboards.

9. The Migration Template

This isn’t a traditional template — it’s a workflow. EmDash offers a WordPress import tool. You upload a WXR file or install the EmDash export plugin on your WordPress site. The import maps posts, pages, media, categories, tags, and Yoast SEO fields to EmDash’s content types. After import, your site runs on EmDash with the blog or marketing template.

Why it matters: For anyone with an existing WordPress site, this is the quickest path to test EmDash. The import preserves your content structure. You lose plugins and themes, but you gain sandbox security and serverless hosting.

10. The Dynamic Plugin Template

EmDash plugins run in sandboxed V8 isolates called dynamic workers. The dynamic plugin template is a starting point for building your own plugins. It includes a manifest file that declares capabilities (read content, send email, etc.) and a sample hook. You can deploy it as a sandbox plugin on Cloudflare’s $5/month plan, or as a trusted NPM module for self-hosted instances.

Why it matters: This is the template for developers who want to extend EmDash. The sandbox model means your plugin cannot access the database or file system unless you explicitly grant it. No other CMS offers this level of isolation.

How to Choose an EmDash Template

The right template depends on your use case. If you’re migrating from WordPress, start with the blog or marketing template and import your content. If you’re building a custom web app, use the blank starter and define your schema in code. If you want to experiment with AI workflows, the AI-native template gives you agent skills files out of the box.

One thing experienced practitioners will notice: custom content types created in the admin panel are stored in the database, not in code. That means they are not version-controlled. For production projects, you’ll want to define them in Astro configuration files so they can be deployed with your site. The templates currently don’t include that setup, but it’s on the roadmap.

EmDash is still beta software (version 0.1.0). The templates are minimal by design. They are not meant to replace WordPress themes — they are meant to be starting points for a new kind of CMS where AI agents handle customization and security is baked into the architecture.

Questions answered
  • What are EmDash starter templates?EmDash starter templates are scaffolds for AI agents or developers to customize, not finished themes.
  • How many official starter templates does EmDash have?EmDash launches with three official starter templates: blog, marketing, and portfolio, plus a blank starter.
  • What makes the blog template unique?The blog template uses Portable Text (structured JSON) instead of HTML, allowing AI agents to read and manipulate content without parsing markup.
Share This Article