Contribuer à EmDash

Sur cette page

EmDash est un monorepo pnpm. Le package principal est packages/core (publié sous le nom emdash) — il contient l’intégration Astro, l’API REST, la couche base de données, la gestion des schémas et le système de plugins. L’interface d’administration se trouve dans packages/admin.

Pour la référence complète des contributeurs — structure du dépôt, architecture, conventions de code, politique de changeset — consultez CONTRIBUTING.md.

Configuration locale

  1. Cloner et installer

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # required before first run
  2. Lancer la démo

    cd demos/simple
    pnpm dev

    L’assistant de configuration s’exécute automatiquement au premier lancement — il crée la base de données, exécute les migrations et vous invite à créer un compte administrateur.

    Pour remplir avec du contenu d’exemple : pnpm seed

  3. Ouvrir l’interface d’administration

    Rendez-vous sur http://localhost:4321/_emdash/admin

    En mode développement, vous pouvez contourner l’authentification passkey avec le point d’accès de contournement :

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

Flux de travail de développement

Mode surveillance

Pour itérer sur les packages principaux en parallèle avec la démo, utilisez deux terminaux :

# Terminal 1 — rebuild packages/core on change
cd packages/core && pnpm dev

# Terminal 2 — run the demo
cd demos/simple && pnpm dev

Vérifications

Exécutez ces commandes avant de commiter (depuis la racine du dépôt) :

pnpm typecheck    # TypeScript
pnpm lint         # full type-aware lint
pnpm format       # auto-format (oxfmt, tabs)

Tests

Tous les tests

pnpm test

Core uniquement

cd packages/core && pnpm test

Mode surveillance

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # starts its own server

Les tests utilisent une vraie base SQLite en mémoire — pas de mocking. Chaque test obtient une base de données vierge.

Ce que nous acceptons

TypeProcessus
Corrections de bugsOuvrez directement une PR. Incluez un test qui échoue.
Docs / fautes de frappeOuvrez directement une PR.
TraductionsOuvrez directement une PR. Voir Traduire EmDash.
FonctionnalitésOuvrez une Discussion et attendez l’approbation d’un mainteneur.
RefactorisationsOuvrez d’abord une Discussion.

Les PR de fonctionnalités sans approbation préalable d’un mainteneur seront fermées.

Pour la politique de contribution complète, le guide des changesets, la structure du dépôt et la vue d’ensemble de l’architecture, consultez CONTRIBUTING.md.