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
-
Clonare, installare e compilare il workspace.
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
Avviare la demo di sviluppo principale.
cd demos/simple pnpm devLa demo gira su Node.js con SQLite su
http://localhost:4321. Alla prima richiesta verso un database vuoto, applica anche il contenuto di esempio daseed/seed.json. -
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.