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
-
Clonare e installare
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # required before first run -
Avviare la demo
cd demos/simple pnpm devLa 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 -
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
| Tipo | Processo |
|---|---|
| Bug fix | Apri direttamente una PR. Includi un test che fallisce. |
| Docs / refusi | Apri direttamente una PR. |
| Traduzioni | Apri direttamente una PR. Vedi Tradurre EmDash. |
| Funzionalità | Apri una Discussion e attendi l’approvazione di un maintainer. |
| Refactoring | Apri 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.