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 Mitwirkenden-Referenz – Repository-Layout, 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    # erforderlich vor dem ersten Ausführen
  2. Demo starten

    cd demos/simple
    pnpm dev

    Der 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

  3. 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

TypProzess
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.