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, 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

  1. Workspace klonen, installieren und bauen.

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build
  2. Die primäre Entwicklungsdemo starten.

    cd demos/simple
    pnpm dev

    Die 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 aus seed/seed.json an.

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