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
-
Cloner et installer
git clone https://github.com/emdash-cms/emdash.git cd emdash pnpm install pnpm build # required before first run -
Lancer 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
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
| Type | Processus |
|---|---|
| Corrections de bugs | Ouvrez directement une PR. Incluez un test qui échoue. |
| Docs / fautes de frappe | Ouvrez directement une PR. |
| Traductions | Ouvrez directement une PR. Voir Traduire EmDash. |
| Fonctionnalités | Ouvrez une Discussion et attendez l’approbation d’un mainteneur. |
| Refactorisations | Ouvrez 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.