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
-
Clonare e installare
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # richiesto prima della prima esecuzione -
Avviare la demo
cd demos/simple pnpm devIl 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 -
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
| Tipo | Processo |
|---|---|
| Correzioni di bug | Apri direttamente una PR. Includi un test che fallisce. |
| Docs / errori di battitura | Apri direttamente una PR. |
| Traduzioni | Apri direttamente una PR. Vedi Tradurre EmDash. |
| Features | Apri una Discussion e attendi l’approvazione di un maintainer. |
| Refactoring | Apri 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.