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 dello schema e il sistema di plugin. L’interfaccia di amministrazione React si trova in packages/admin.

Questa pagina ti dà il percorso più rapido verso un ambiente di sviluppo funzionante. CONTRIBUTING.md è la fonte canonica per prerequisiti, struttura del repository, politica di contribuzione, verifiche richieste, changeset e requisiti delle pull request.

Configurazione locale

  1. Clonare, installare e compilare il workspace.

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build
  2. Avviare la demo di sviluppo principale.

    cd demos/simple
    pnpm dev

    La demo gira su Node.js con SQLite su http://localhost:4321. Alla prima richiesta verso un database vuoto, applica anche il contenuto di esempio da seed/seed.json.

  3. Aprire il pannello di amministrazione.

    Per la configurazione locale più rapida, apri il bypass di sviluppo. Esegue le migrazioni, crea un amministratore di sviluppo, ti autentica e reindirizza al pannello di amministrazione.

    Per testare invece il flusso di configurazione con passkey, apri il pannello di amministrazione. La procedura guidata crea il database, esegue le migrazioni e ti chiede di creare un account amministratore.

Flusso di lavoro di sviluppo

Modalità osservazione

Quando modifichi packages/core mentre esegui la demo, usa due terminali in modo che il pacchetto si ricompili automaticamente:

# Terminale 1 — ricompilare packages/core al cambio
cd packages/core && pnpm dev

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

Verifiche

Esegui le verifiche richieste dalla radice del repository prima di fare commit:

pnpm typecheck    # TypeScript
pnpm lint         # lint completo con riconoscimento dei tipi
pnpm format       # auto-formattazione con oxfmt e Prettier

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    # avvia il proprio server

I test usano veri database SQLite in memoria invece di mock. Ogni test ottiene un database pulito.

Scegli un percorso di contribuzione

Le correzioni di bug, la documentazione e le traduzioni possono andare direttamente in una pull request. Le correzioni di bug devono includere un test che fallisce e riproduce il problema. I contributi di traduzione seguono il flusso di lavoro di traduzione.

Le funzionalità e le refactorizzazioni richiedono una Discussione approvata da un maintainer prima dell’implementazione. Le pull request di funzionalità senza tale approvazione vengono chiuse. Leggi la politica di contribuzione completa prima di iniziare a lavorare per sapere quale percorso si applica.

Le modifiche alla documentazione devono anche seguire la guida di stile della documentazione.

Per i percorsi di esecuzione principali attraverso EmDash, leggi Architettura (interni). I pattern e gli invarianti a livello di codice sono documentati in AGENTS.md.