emdash-cms/emdash
TypeScript0 / 0
Astro와 Cloudflare에 결합하는 타입 안전한 WordPress 대안 CMS
TL;DR
EmDash는 Astro와 Cloudflare를 기반으로 관리자 패널, REST API, 인증, 미디어 관리, 플러그인 시스템을 제공하는 full-stack TypeScript CMS이며 Astro 통합 형태로 사이트에 연결됩니다. 콘텐츠 타입은 관리자 UI에서 실제 SQL 테이블로 만들고 `npx emdash types`로 TypeScript 타입을 생성한 뒤 Astro Live Collections로 조회합니다. Portable Text, WordPress 가져오기, Passkey 인증, CLI, MCP server, 샌드박스 플러그인을 제공해 WordPress의 운영 경험을 서버리스·타입 안전 구조로 옮기려는 프로젝트입니다. Cloudflare D1·R2·Workers에서 가장 자연스럽게 동작하지만 SQLite·Turso·PostgreSQL과 S3 계열 저장소도 지원하며, Dynamic Workers 플러그인은 유료 Cloudflare 계정이 필요하고 현재 beta preview입니다.
핵심 포인트
- EmDash는 Astro 통합으로 관리자 패널, REST API, 인증, 미디어 라이브러리를 한 번에 추가하는 full-stack CMS입니다. Cloudflare의 D1·R2·Workers 또는 Node.js와 SQLite에서 실행되므로 PHP와 별도 호스팅 계층 없이 배포할 수 있습니다. Astro 기반 사이트에 CMS 기능을 직접 결합하려는 팀에 적합합니다.
- 콘텐츠 타입은 코드가 아니라 관리자 UI에서 컬렉션과 SQL 타입 컬럼으로 정의됩니다. `npx emdash types`가 실제 스키마에서 TypeScript 타입을 만들고, Astro Live Collections가 재빌드 없이 콘텐츠를 조회합니다. 비개발자 중심의 콘텐츠 운영과 타입 안전한 프런트엔드 개발을 함께 처리할 수 있습니다.
- Plugin은 `definePlugin()`과 lifecycle hook을 사용하고, Cloudflare에서는 capability manifest를 가진 Worker isolate 안에서 실행됩니다. 플러그인은 `read:content`나 `email:send`처럼 허용된 기능만 사용하며 KV 저장소, 설정, 관리자 페이지, 위젯, API route도 확장할 수 있습니다. WordPress 플러그인의 강한 권한 문제를 줄이면서 생태계를 구축하려는 경우에 의미가 있습니다.
- Portable Text 기반 구조화 콘텐츠, Passkey 우선 인증, FTS5 검색, 예약 발행, WordPress 가져오기, CLI와 MCP server를 함께 제공합니다. WordPress의 WXR·REST API·WordPress.com 데이터에서 게시물·페이지·미디어·택소노미를 옮길 수 있습니다. 다만 현재 beta preview이며 Dynamic Workers 기반 보안 플러그인은 Cloudflare 유료 계정이 필요합니다.
이미지 분석



12k
STARS
1.1k
FORKS
+211
TRENDING
0
조회수
관련 토론
아직 관련 토론이 없습니다.
댓글
댓글을 작성하려면 로그인이 필요합니다.