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, test, traduzioni, attività di manutenzione e refactoring o modifiche delle prestazioni che preservano il comportamento possono andare direttamente in una pull request di implementazione. Una funzionalità richiede un piano di funzionalità o RFC accettato prima dell’implementazione. Leggi la policy di contribuzione completa prima di iniziare a lavorare, così saprai quale percorso si applica.
CONTRIBUTING.md rimanda inoltre alle policy canoniche su governance, roadmap, triage, revisione, proposte e IA.
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.