EmDash es un monorepo de pnpm. El paquete principal es packages/core (publicado como emdash) — contiene la integración de Astro, REST API, capa de base de datos, gestión de esquemas y sistema de plugins. La interfaz de administración se encuentra en packages/admin.
Para la referencia completa de contribuyentes — diseño del repositorio, arquitectura, convenciones de código, política de changesets — consulta CONTRIBUTING.md.
Configuración local
-
Clonar e instalar
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # requerido antes de la primera ejecución -
Iniciar la demo
cd demos/simple pnpm devEl asistente de configuración se ejecuta automáticamente en el primer inicio — crea la base de datos, ejecuta las migraciones y te solicita crear una cuenta de administrador.
Para llenar con contenido de ejemplo:
pnpm seed -
Abrir el panel de administración
Visita http://localhost:4321/_emdash/admin
En modo de desarrollo, puedes omitir la autenticación con passkey usando el endpoint de bypass:
http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin
Flujo de trabajo de desarrollo
Modo Watch
Para iterar en los paquetes core junto con la demo, ejecuta dos terminales:
# Terminal 1 — reconstruir packages/core al cambiar
cd packages/core && pnpm dev
# Terminal 2 — ejecutar la demo
cd demos/simple && pnpm dev
Verificaciones
Ejecuta estos comandos antes de hacer commit (desde la raíz del repositorio):
pnpm typecheck # TypeScript
pnpm lint # lint completo con conocimiento de tipos
pnpm format # auto-formato (oxfmt, tabs)
Tests
Todos los tests
pnpm test Solo Core
cd packages/core && pnpm test Modo watch
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # inicia su propio servidor Los tests usan SQLite real en memoria — sin mocking. Cada test obtiene una base de datos nueva.
Qué se acepta
| Tipo | Proceso |
|---|---|
| Correcciones de bugs | Abre un PR directamente. Incluye un test que falle. |
| Docs / erratas | Abre un PR directamente. |
| Traducciones | Abre un PR directamente. Ver Traducir EmDash. |
| Features | Abre una Discussion y espera la aprobación de un maintainer. |
| Refactorizaciones | Abre una Discussion primero. |
Los PRs de features sin aprobación previa de un maintainer serán cerrados.
Para la política completa de contribución, guía de changesets, diseño del repositorio y visión general de la arquitectura, consulta CONTRIBUTING.md.