EmDash ist ein pnpm-Monorepo. Das Hauptpaket ist packages/core, veröffentlicht als emdash; es enthält die Astro-Integration, die REST-API, die Datenbankschicht, die Schemaverwaltung und das Plugin-System. Die React-Admin-UI befindet sich in packages/admin.
Diese Seite zeigt Ihnen den schnellsten Weg zu einer funktionierenden Entwicklungsumgebung. CONTRIBUTING.md ist die kanonische Quelle für Voraussetzungen, Repository-Layout, Beitragsrichtlinien, erforderliche Prüfungen, Changesets und Pull-Request-Anforderungen.
Lokale Einrichtung
-
Workspace klonen, installieren und bauen.
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build -
Die primäre Entwicklungsdemo starten.
cd demos/simple pnpm devDie Demo läuft auf Node.js mit SQLite unter
http://localhost:4321. Bei der ersten Anfrage an eine leere Datenbank wendet sie auch den Beispielinhalt ausseed/seed.jsonan. -
Das Admin-Panel öffnen.
Für die schnellste lokale Einrichtung öffnen Sie den Entwicklungs-Bypass. Er führt Migrationen durch, erstellt einen Entwicklungsadministrator, meldet Sie an und leitet zum Admin-Panel weiter.
Um stattdessen den Passkey-Setup-Flow zu testen, öffnen Sie das Admin-Panel. Der Setup-Assistent erstellt die Datenbank, führt Migrationen durch und fordert Sie auf, ein Administratorkonto zu erstellen.
Entwicklungs-Workflow
Watch-Modus
Wenn Sie packages/core während der Demo ändern, verwenden Sie zwei Terminals, damit das Paket automatisch neu gebaut wird:
# Terminal 1 — packages/core bei Änderung neu bauen
cd packages/core && pnpm dev
# Terminal 2 — die Demo ausführen
cd demos/simple && pnpm dev
Prüfungen
Führen Sie die erforderlichen Prüfungen aus dem Repository-Root aus, bevor Sie committen:
pnpm typecheck # TypeScript
pnpm lint # vollständiger typbewusster Lint
pnpm format # Auto-Formatierung mit oxfmt und Prettier
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 seinen eigenen Server Tests verwenden echte In-Memory-SQLite-Datenbanken anstelle von Datenbank-Mocks. Jeder Test erhält eine frische Datenbank.
Wählen Sie einen Beitragspfad
Fehlerbehebungen, Dokumentation und Übersetzungen können direkt als Pull Request eingereicht werden. Fehlerbehebungen müssen einen fehlschlagenden Test enthalten, der das Problem reproduziert. Übersetzungsbeiträge folgen dem Übersetzungs-Workflow.
Features und Refactorings erfordern eine von einem Maintainer genehmigte Diskussion vor der Implementierung. Feature-Pull-Requests ohne diese Genehmigung werden geschlossen. Lesen Sie die vollständige Beitragsrichtlinie, bevor Sie mit der Arbeit beginnen, damit Sie wissen, welcher Pfad gilt.
Dokumentationsänderungen müssen auch dem Dokumentations-Stilhandbuch folgen.
Für die Hauptausführungspfade durch EmDash lesen Sie Architektur (Interna). Code-Level-Muster und Invarianten sind in AGENTS.md dokumentiert.