EmDash es un monorepo de pnpm. El paquete principal es packages/core, publicado como emdash; contiene la integración de Astro, la API REST, la capa de base de datos, la gestión de esquemas y el sistema de plugins. La UI de administración React se encuentra en packages/admin.
Esta página te da el camino más rápido a un entorno de desarrollo funcional. CONTRIBUTING.md es la fuente canónica para prerrequisitos, estructura del repositorio, política de contribución, verificaciones requeridas, changesets y requisitos de pull request.
Configuración local
-
Clonar, instalar y compilar el workspace.
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
Iniciar la demo de desarrollo principal.
cd demos/simple pnpm devLa demo se ejecuta en Node.js con SQLite en
http://localhost:4321. En la primera solicitud a una base de datos vacía, también aplica el contenido de ejemplo deseed/seed.json. -
Abrir el panel de administración.
Para la configuración local más rápida, abre el bypass de desarrollo. Ejecuta migraciones, crea un administrador de desarrollo, te inicia sesión y redirige al panel de administración.
Para probar el flujo de configuración con passkey en su lugar, abre el panel de administración. El asistente de configuración crea la base de datos, ejecuta migraciones y te solicita crear una cuenta de administrador.
Flujo de trabajo de desarrollo
Modo observación
Cuando cambias packages/core mientras ejecutas la demo, usa dos terminales para que el paquete se reconstruya automáticamente:
# Terminal 1 — reconstruir packages/core al cambiar
cd packages/core && pnpm dev
# Terminal 2 — ejecutar la demo
cd demos/simple && pnpm dev
Verificaciones
Ejecuta las verificaciones requeridas desde la raíz del repositorio antes de hacer commit:
pnpm typecheck # TypeScript
pnpm lint # lint completo con reconocimiento de tipos
pnpm format # auto-formatear con oxfmt y Prettier
Tests
Todos los tests
pnpm test Solo Core
cd packages/core && pnpm test Modo observación
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # inicia su propio servidor Los tests usan bases de datos SQLite en memoria reales en lugar de mocks. Cada test obtiene una base de datos limpia.
Elige un camino de contribución
Las correcciones de errores, documentación y traducciones pueden ir directamente a un pull request. Las correcciones de errores deben incluir un test que falle y reproduzca el problema. Las contribuciones de traducción siguen el flujo de trabajo de traducción.
Las características y refactorizaciones requieren una Discusión aprobada por un mantenedor antes de la implementación. Los pull requests de características sin esa aprobación se cierran. Lee la política de contribución completa antes de comenzar a trabajar para saber qué camino aplica.
Los cambios de documentación también deben seguir la guía de estilo de documentación.
Para las rutas de ejecución principales a través de EmDash, lee Arquitectura (internos). Los patrones e invariantes a nivel de código están documentados en AGENTS.md.