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
-
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 -
Démarrer la démo
cd demos/simple pnpm devL’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 -
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é
| Type | Processus |
|---|---|
| Corrections de bugs | Ouvrez directement une PR. Incluez un test qui échoue. |
| Docs / coquilles | Ouvrez directement une PR. |
| Traductions | Ouvrez directement une PR. Voir Traduire EmDash. |
| Features | Ouvrez une Discussion et attendez l’approbation d’un mainteneur. |
| Refactorisations | Ouvrez 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.