EmDash es un monorepo pnpm. El paquete principal es packages/core (publicado como emdash) — contiene la integración con Astro, la API REST, la capa de base de datos, la gestión de esquemas y el sistema de plugins. La interfaz de administración se encuentra en packages/admin.
Para la referencia completa del contribuidor — estructura 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 # required before first run -
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 passkey con el endpoint de bypass:
http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin
Flujo de trabajo de desarrollo
Modo de vigilancia
Para iterar en los paquetes principales junto con la demo, usa dos terminales:
# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev
# Terminal 2 — run the 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 # full type-aware lint
pnpm format # auto-format (oxfmt, tabs)
Tests
Todos los tests
pnpm test Solo core
cd packages/core && pnpm test Modo vigilancia
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # starts its own server Los tests usan SQLite real en memoria — sin mocking. Cada test obtiene una base de datos nueva.
Lo que aceptamos
| Tipo | Proceso |
|---|---|
| Corrección de bugs | Abre un PR directamente. Incluye un test que falle. |
| Docs / erratas | Abre un PR directamente. |
| Traducciones | Abre un PR directamente. Consulta Traducir EmDash. |
| Funcionalidades | Abre una Discussion y espera la aprobación de un maintainer. |
| Refactorizaciones | Abre primero una Discussion. |
Los PR de funcionalidades sin aprobación previa de un maintainer serán cerrados.
Para la política de contribución completa, la guía de changesets, la estructura del repositorio y la visión general de la arquitectura, consulta CONTRIBUTING.md.