Source: https://seerepo.com/compare/emdash-cms/emdash/vs/TryGhost/Ghost
Markdown source: https://seerepo.com/compare/emdash-cms/emdash/vs/TryGhost/Ghost.md
Description: emdash and Ghost share 15 technologies: Vite, React, Hono, Tailwind CSS, jose, sanitize-html, image-size, tailwind-merge, tiptap, dnd-kit, react-day-picker, @lezer/highlight, CodeMirror, dompurify, and Zod. Both are written in TypeScript.

# emdash vs Ghost

emdash and Ghost share 15 technologies: Vite, React, Hono, Tailwind CSS, jose, sanitize-html, image-size, tailwind-merge, tiptap, dnd-kit, react-day-picker, @lezer/highlight, CodeMirror, dompurify, and Zod. Both are written in TypeScript.

- [emdash-cms/emdash](https://seerepo.com/r/emdash-cms/emdash): EmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress
- [TryGhost/Ghost](https://seerepo.com/r/TryGhost/Ghost): Independent technology for modern publishing, memberships, subscriptions and newsletters.

## What they share and what sets them apart

- In common: Vite, React, Hono, Tailwind CSS, jose, sanitize-html, image-size, tailwind-merge, tiptap, dnd-kit, react-day-picker, @lezer/highlight, CodeMirror, dompurify, Zod
- Only in emdash: Astro, @tanstack/react-router, Postgres, MCP, @phosphor-icons/react, marked, react-hotkeys-hook, @floating-ui/react, lowlight, react-image-crop, highlight.js, kysely, echarts, lightningcss, @astrojs/cloudflare, arctic, blurhash, jpeg-js, sax, upng-js, @apidevtools/swagger-parser, zod-openapi, @clack/prompts, parse5, @astro-community/astro-embed-youtube, yaml
- Only in Ghost: React Router, Preact, bson-objectid, Sentry, Express, @isaacs/ttlcache, bullmq, cache-manager, lru-cache, Stripe, Mailgun, js-yaml, sonner, Radix UI, React Hook Form, html2canvas-pro, @hookform/resolvers, @codemirror/theme-one-dark, xyflow, @uiw/react-codemirror, @floating-ui/react-dom, @tanstack/react-virtual, D3, Lucide, papaparse, validator, Headless UI, class-variance-authority, recharts, cmdk, @number-flow/react, react-dropzone, country-flag-icons, knex, jsonwebtoken, express-session, otplib, cookie-session, Cheerio, handlebars, sharp, entities, file-type, html-to-text, node-html-markdown, probe-image-size, rss, cron-validate, lexical, markdown-it, markdown-it-footnote, markdown-it-mark, markdown-it-sub, markdown-it-sup, emoji-mart, react-colorful, react-error-boundary, @lexical/markdown, prop-types, Ajv, ajv-formats, nodemailer

## Side by side

| | emdash | Ghost |
|---|---|---|
| Size | 1,316,006 lines written, 2,085 code files | 1,229,446 lines written, 4,191 code files |
| Who writes it | 8.5% of its commits signed by AI. With Claude Code, GitHub Copilot, Cursor, and Amp | 1.5% of its commits signed by AI. With Codex, Claude Code, Cursor, CodeRabbit, and GitHub Copilot |
| Activity | Last push November 9, 2026, 2,843 commits, 14,309 stars | Last push November 5, 2026, 51,839 commits, 55,684 stars |
| Tests | 1,954 test files. 59.5% of its code files have a test that imports them | 2,676 test files. 39.8% of its code files have a test that imports them |

- Size: Lines written by people and agents, without generated ones; code files, without tests.
- Who writes it: A commit counts as AI's when it carries its signature: a Co-Authored-By line, its author name or the merge of its branch.
- Activity: From GitHub and its history, on the day SeeRepo read it.
- Tests: The files that test the code, and the share of code files a test imports.

## Frequently asked questions

### Which is bigger, emdash or Ghost?

emdash, with 1,316,006 lines written; Ghost has 1,229,446.

The proof: [emdash-cms/emdash's code at commit 2ae29db](https://github.com/emdash-cms/emdash/tree/2ae29db9a0ab4519b2ce97c1af22516f867ff058)

### Which has more GitHub stars, emdash or Ghost?

Ghost, with 55,684 stars; emdash has 14,309.

The proof: [TryGhost/Ghost on GitHub](https://github.com/TryGhost/Ghost)

### Which has more tests, emdash or Ghost?

Ghost, with 2,676 test files; emdash has 1,954.

The proof: [TryGhost/Ghost's code at commit 7336dc2](https://github.com/TryGhost/Ghost/tree/7336dc28b3ac6e4351c24b0b93ce03700d32a8e8)

### Which was updated more recently, emdash or Ghost?

emdash: its last push was on November 9, 2026, and Ghost's on November 5, 2026.

The proof: [emdash-cms/emdash's commits on GitHub](https://github.com/emdash-cms/emdash/commits)

### Which has more commits signed by AI, emdash or Ghost?

emdash: an AI signed 8.5% of its commits, with Claude Code, GitHub Copilot, Cursor, and Amp; in Ghost, 1.5%.

The proof: [the commits each tool signed in emdash-cms/emdash](https://seerepo.com/r/emdash-cms/emdash/ai)

## Sources

- emdash-cms/emdash: Read on November 9, 2026, at commit 2ae29db (https://github.com/emdash-cms/emdash/tree/2ae29db9a0ab4519b2ce97c1af22516f867ff058)
- TryGhost/Ghost: Read on November 5, 2026, at commit 7336dc2 (https://github.com/TryGhost/Ghost/tree/7336dc28b3ac6e4351c24b0b93ce03700d32a8e8)

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
