Contribuir a EmDash

En esta página

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

  1. Clonar e instalar

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # required before first run
  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 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

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