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-Oberfläche befindet sich in packages/admin.
Diese Seite zeigt Ihnen den schnellsten Weg zu einer funktionierenden Entwicklungsumgebung. CONTRIBUTING.md ist die maßgebliche Quelle für Voraussetzungen, Repository-Aufbau, Beitragsrichtlinie, erforderliche Prüfungen, Changesets und die Anforderungen an Pull Requests.
Lokale Einrichtung
-
Den 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 wendet sie das Schema ausseed/seed.jsonan; der Entwicklungs-Bypass im nächsten Schritt fügt zusätzlich ihre Beispielinhalte hinzu. -
Das Admin-Panel öffnen.
Für die schnellste lokale Einrichtung öffnen Sie den Entwicklungs-Bypass. Er führt Migrationen aus, erstellt einen Entwicklungsadministrator, meldet Sie an und leitet Sie zum Admin-Panel weiter.
Um stattdessen den Passkey-Einrichtungsablauf zu testen, öffnen Sie das Admin-Panel. Der Einrichtungsassistent erstellt die Datenbank, führt Migrationen aus und fordert Sie auf, ein Administratorkonto anzulegen.
Entwicklungsablauf
Watch-Modus
Wenn Sie packages/core ändern, während die Demo läuft, verwenden Sie zwei Terminals, damit das Paket automatisch neu gebaut wird:
# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev
# Terminal 2 — run the demo
cd demos/simple && pnpm dev
Prüfungen
Führen Sie die erforderlichen Prüfungen im Stammverzeichnis des Repositorys aus, bevor Sie committen:
pnpm typecheck # TypeScript
pnpm lint # full type-aware lint
pnpm format # auto-format with oxfmt and 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 # starts its own server Die Tests verwenden echte In-Memory-SQLite-Datenbanken statt Datenbank-Mocks. Jeder Test erhält eine frische Datenbank.
Einen Beitragsweg wählen
Fehlerbehebungen, Dokumentation, Tests, Übersetzungen, Wartungsaufgaben sowie Refactorings oder Performance-Änderungen, die das Verhalten nicht verändern, können direkt als Implementierungs-Pull-Request eingereicht werden. Ein Feature benötigt vor der Umsetzung einen akzeptierten Feature-Plan oder RFC. Lesen Sie die vollständige Beitragsrichtlinie, bevor Sie mit der Arbeit beginnen, damit Sie wissen, welcher Weg zutrifft.
CONTRIBUTING.md verlinkt außerdem die maßgeblichen Richtlinien zu Governance, Roadmap, Triage, Review, Vorschlägen und KI.
Änderungen an der Dokumentation müssen außerdem dem Dokumentations-Stilhandbuch folgen.
Die wichtigsten Ausführungspfade durch EmDash beschreibt Architektur (Interna). Muster und Invarianten auf Code-Ebene sind in AGENTS.md dokumentiert.