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

  1. Den 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 wendet sie das Schema aus seed/seed.json an; der Entwicklungs-Bypass im nächsten Schritt fügt zusätzlich ihre Beispielinhalte hinzu.

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