Zu EmDash beitragen

Auf dieser Seite

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 Contributor-Referenz — Repository-Struktur, Architektur, Code-Konventionen, Changeset-Richtlinien — siehe CONTRIBUTING.md.

Lokale Einrichtung

  1. Klonen und installieren

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # required before first run
  2. Demo starten

    cd demos/simple
    pnpm dev

    Der Einrichtungsassistent wird beim ersten Start automatisch ausgeführt — er erstellt die Datenbank, führt Migrationen durch und fordert dich auf, ein Administratorkonto zu erstellen.

    Um Beispielinhalte einzufügen: pnpm seed

  3. Admin-Oberfläche öffnen

    Besuche http://localhost:4321/_emdash/admin

    Im Entwicklungsmodus kannst du die Passkey-Authentifizierung über den Bypass-Endpunkt überspringen:

    http://localhost:4321/_emdash/api/setup/dev-bypass?redirect=/_emdash/admin

Entwicklungsworkflow

Watch-Modus

Um gleichzeitig an Core-Paketen und der Demo zu arbeiten, verwende zwei Terminals:

# 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ühre diese Befehle vor dem Committen aus (im Repository-Stammverzeichnis):

pnpm typecheck    # TypeScript
pnpm lint         # full type-aware lint
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    # starts its own server

Tests verwenden echtes In-Memory-SQLite — kein Mocking. Jeder Test erhält eine frische Datenbank.

Was wir akzeptieren

TypVorgehensweise
BugfixesErstelle direkt einen PR. Füge einen fehlschlagenden Test bei.
Docs / TippfehlerErstelle direkt einen PR.
ÜbersetzungenErstelle direkt einen PR. Siehe EmDash übersetzen.
FeaturesEröffne eine Discussion und warte auf die Genehmigung eines Maintainers.
RefactoringsEröffne zuerst eine Discussion.

Feature-PRs ohne vorherige Genehmigung eines Maintainers werden geschlossen.

Für die vollständige Beitragsrichtlinie, den Changeset-Leitfaden, die Repository-Struktur und die Architekturübersicht siehe CONTRIBUTING.md.