Contribuir a EmDash

En esta página

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

  1. 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
  2. Iniciar la demo

    cd demos/simple
    pnpm dev

    El 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

  3. 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

TipoProceso
Correcciones de bugsAbre un PR directamente. Incluye un test que falle.
Docs / erratasAbre un PR directamente.
TraduccionesAbre un PR directamente. Ver Traducir EmDash.
FeaturesAbre una Discussion y espera la aprobación de un maintainer.
RefactorizacionesAbre 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.