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 de 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 — organisation du dépôt, architecture, conventions de code, politique de changesets — consultez CONTRIBUTING.md.

Configuration locale

  1. Cloner et installer

    git clone https://github.com/emdash-cms/emdash.git
    cd emdash
    pnpm install
    pnpm build    # requis avant la première exécution
  2. Démarrer 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

    Visitez http://localhost:4321/_emdash/admin

    En mode développement, vous pouvez contourner l’authentification par passkey avec le endpoint de bypass :

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

Flux de travail de développement

Mode Watch

Pour itérer sur les packages core parallèlement à la démo, exécutez deux terminaux :

# Terminal 1 — reconstruire packages/core lors des modifications
cd packages/core && pnpm dev

# Terminal 2 — exécuter la démo
cd demos/simple && pnpm dev

Vérifications

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

pnpm typecheck    # TypeScript
pnpm lint         # linting complet avec connaissance des types
pnpm format       # auto-formatage (oxfmt, tabs)

Tests

Tous les tests

pnpm test

Core uniquement

cd packages/core && pnpm test

Mode watch

cd packages/core && pnpm test --watch

E2E

pnpm test:e2e    # démarre son propre serveur

Les tests utilisent SQLite en mémoire réel — pas de mocking. Chaque test obtient une base de données fraîche.

Ce qui est accepté

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

Les PRs de features sans approbation préalable d’un mainteneur seront fermées.

Pour la politique complète de contribution, le guide des changesets, l’organisation du dépôt et l’aperçu de l’architecture, consultez CONTRIBUTING.md.