EmDash ist ein pnpm monorepo. Das Hauptpaket ist packages/core (veröffentlicht als emdash) – es enthält die Astro-Integration, REST API, Datenbankschicht, Schema-Verwaltung und das Plugin-System. Die Admin-Oberfläche befindet sich in packages/admin.
Für die vollständige Mitwirkenden-Referenz – Repository-Layout, Architektur, Code-Konventionen, Changeset-Richtlinien – siehe CONTRIBUTING.md.
Lokale Einrichtung
-
Klonen und installieren
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # erforderlich vor dem ersten Ausführen -
Demo starten
cd demos/simple pnpm devDer Einrichtungsassistent läuft beim ersten Start automatisch – er erstellt die Datenbank, führt Migrationen aus und fordert Sie auf, ein Admin-Konto zu erstellen.
Um mit Beispielinhalten zu füllen:
pnpm seed -
Admin-Bereich öffnen
Besuchen Sie http://localhost:4321/_emdash/admin
Im Entwicklungsmodus können Sie die Passkey-Authentifizierung mit dem Bypass-Endpunkt überspringen:
http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin
Entwicklungs-Workflow
Watch Mode
Für die Iteration an Core-Paketen neben der Demo, führen Sie zwei Terminals aus:
# Terminal 1 — packages/core bei Änderung neu bauen
cd packages/core && pnpm dev
# Terminal 2 — Demo ausführen
cd demos/simple && pnpm dev
Prüfungen
Führen Sie diese vor dem Commit aus (vom Repository-Root):
pnpm typecheck # TypeScript
pnpm lint # vollständiges typ-bewusstes Linting
pnpm format # Auto-Format (oxfmt, tabs)
Tests
Alle Tests
pnpm test Nur Core
cd packages/core && pnpm test Watch-Modus
cd packages/core && pnpm test --watch E2E
pnpm test:e2e # startet eigenen Server Tests verwenden echtes In-Memory-SQLite – kein Mocking. Jeder Test erhält eine frische Datenbank.
Was wird akzeptiert
| Typ | Prozess |
|---|---|
| Fehlerbehebungen | Öffnen Sie direkt einen PR. Fügen Sie einen fehlschlagenden Test hinzu. |
| Docs / Tippfehler | Öffnen Sie direkt einen PR. |
| Übersetzungen | Öffnen Sie direkt einen PR. Siehe EmDash übersetzen. |
| Features | Öffnen Sie eine Discussion und warten Sie auf die Genehmigung eines Maintainers. |
| Refactorings | Öffnen Sie zuerst eine Discussion. |
Feature-PRs ohne vorherige Maintainer-Genehmigung werden geschlossen.
Für die vollständige Beitragsrichtlinie, Changeset-Leitfaden, Repository-Layout und Architekturübersicht siehe CONTRIBUTING.md.