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 layer del database, la gestione degli schemi e il sistema di plugin. L’interfaccia di amministrazione si trova in packages/admin.

Per il riferimento completo dei contributori — struttura del repository, architettura, convenzioni del codice, policy dei changeset — vedi CONTRIBUTING.md.

Configurazione locale

  1. Clonare e installare

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # richiesto prima della prima esecuzione
  2. Avviare la demo

    cd demos/simple
    pnpm dev

    Il wizard di configurazione viene eseguito 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 l’interfaccia 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à Watch

Per iterare sui pacchetti core insieme alla demo, esegui due terminali:

# Terminal 1 — ricostruire packages/core al cambiamento
cd packages/core && pnpm dev

# Terminal 2 — eseguire la demo
cd demos/simple && pnpm dev

Controlli

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

pnpm typecheck    # TypeScript
pnpm lint         # linting completo con consapevolezza dei tipi
pnpm format       # auto-formattazione (oxfmt, tabs)

Test

Tutti i test

pnpm test

Solo Core

cd packages/core && pnpm test

Modalità watch

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # avvia il proprio server

I test utilizzano SQLite reale in memoria — niente mocking. Ogni test ottiene un database fresco.

Cosa viene accettato

TipoProcesso
Correzioni di bugApri direttamente una PR. Includi un test che fallisce.
Docs / errori di battituraApri direttamente una PR.
TraduzioniApri direttamente una PR. Vedi Tradurre EmDash.
FeaturesApri una Discussion e attendi l’approvazione di un maintainer.
RefactoringApri prima una Discussion.

Le PR di feature senza previa approvazione del maintainer verranno chiuse.

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