Contribuire a EmDash

In questa pagina

EmDash è un monorepo pnpm. Il pacchetto principale è packages/core (pubblicato come emdash) — contiene l’integrazione Astro, l’API REST, il livello database, la gestione degli schemi e il sistema di plugin. L’interfaccia di amministrazione si trova in packages/admin.

Per il riferimento completo per i contributori — struttura del repository, architettura, convenzioni di codice, policy dei changeset — consulta CONTRIBUTING.md.

Configurazione locale

  1. Clonare e installare

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # required before first run
  2. Avviare la demo

    cd demos/simple
    pnpm dev

    La procedura guidata di configurazione viene eseguita automaticamente al primo avvio — crea il database, esegue le migrazioni e ti chiede di creare un account amministratore.

    Per popolare con contenuti di esempio: pnpm seed

  3. Aprire il pannello di amministrazione

    Visita http://localhost:4321/_emdash/admin

    In modalità sviluppo, puoi saltare l’autenticazione passkey con l’endpoint di bypass:

    http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin

Flusso di lavoro di sviluppo

Modalità di osservazione

Per iterare sui pacchetti principali insieme alla demo, usa due terminali:

# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev

# Terminal 2 — run the demo
cd demos/simple && pnpm dev

Verifiche

Esegui questi comandi prima di committare (dalla radice del repository):

pnpm typecheck    # TypeScript
pnpm lint         # full type-aware lint
pnpm format       # auto-format (oxfmt, tabs)

Test

Tutti i test

pnpm test

Solo core

cd packages/core && pnpm test

Modalità osservazione

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # starts its own server

I test utilizzano un vero SQLite in memoria — nessun mocking. Ogni test ottiene un database nuovo.

Cosa accettiamo

TipoProcesso
Bug fixApri direttamente una PR. Includi un test che fallisce.
Docs / refusiApri direttamente una PR.
TraduzioniApri direttamente una PR. Vedi Tradurre EmDash.
FunzionalitàApri una Discussion e attendi l’approvazione di un maintainer.
RefactoringApri prima una Discussion.

Le PR di funzionalità senza previa approvazione di un maintainer verranno chiuse.

Per la policy di contribuzione completa, la guida ai changeset, la struttura del repository e la panoramica dell’architettura, consulta CONTRIBUTING.md.