EmDash è un monorepo pnpm. Il pacchetto principale è packages/core, pubblicato come emdash; contiene l’integrazione Astro, l’API REST, il livello del database, la gestione dello schema e il sistema di plugin. L’interfaccia di amministrazione in React si trova in packages/admin.
Questa pagina ti indica il percorso più rapido verso un ambiente di sviluppo funzionante. CONTRIBUTING.md è la fonte di riferimento per prerequisiti, struttura del repository, policy di contribuzione, controlli obbligatori, changeset e requisiti delle pull request.
Configurazione locale
-
Clona, installa e compila il workspace.
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
Avvia la demo di sviluppo principale.
cd demos/simple pnpm devLa demo gira su Node.js con SQLite all’indirizzo
http://localhost:4321. Alla prima richiesta applica lo schema diseed/seed.json; il bypass di sviluppo del passo successivo aggiunge anche i suoi contenuti di esempio. -
Apri il pannello di amministrazione.
Per la configurazione locale più rapida, apri il bypass di sviluppo. Esegue le migrazioni, crea un amministratore di sviluppo, ti fa accedere e ti reindirizza al pannello di amministrazione.
Per testare invece il flusso di configurazione con passkey, apri il pannello di amministrazione. La procedura guidata di configurazione crea il database, esegue le migrazioni e ti chiede di creare un account amministratore.
Flusso di lavoro di sviluppo
Modalità watch
Quando modifichi packages/core mentre la demo è in esecuzione, usa due terminali in modo che il pacchetto venga ricompilato automaticamente:
# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev
# Terminal 2 — run the demo
cd demos/simple && pnpm dev
Controlli
Esegui i controlli obbligatori dalla radice del repository prima di fare il commit:
pnpm typecheck # TypeScript
pnpm lint # full type-aware lint
pnpm format # auto-format with oxfmt and Prettier
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 # starts its own server I test usano database SQLite reali in memoria invece di mock del database. Ogni test riceve un database nuovo.
Scegliere un percorso di contribuzione
Correzioni di bug, documentazione e 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.
Funzionalità e refactoring richiedono una Discussion approvata da un maintainer prima dell’implementazione. Le pull request di funzionalità senza tale approvazione vengono chiuse. Leggi la policy di contribuzione completa prima di iniziare a lavorare, così saprai quale percorso si applica.
Anche le modifiche alla documentazione devono seguire la guida di stile della documentazione.
Per i principali percorsi di esecuzione attraverso EmDash, leggi Architettura (interni). I pattern e gli invarianti a livello di codice sono documentati in AGENTS.md.