Contribuer
Merci de votre intérêt pour Risques Majeurs MCP ! Toute contribution est la bienvenue.
Prérequis
Mise en place
# Cloner le dépôt
git clone https://github.com/MAIF/risques-majeurs-mcp.git
cd risques-majeurs-mcp
# Installer les dépendances
npm install
# Lancer en mode développement
npm run start-dev
Ou avec mise :
mise run dev
Lancer les tests
npm test
Ou avec mise :
mise run test
Taches mise disponibles
| Tache | Description |
|---|---|
mise run install | Installer les dépendances |
mise run build | Build serveur + client |
mise run dev | Lancer en mode développement |
mise run test | Lancer les tests |
mise run start | Lancer en mode production |
mise run docs:dev | Lancer la documentation en mode dev |
mise run docs:build | Builder la documentation |
mise run release -- X.Y.Z | Preparer une release |
Ajouter un nouveau risque
Pour ajouter un nouveau risque, ajoutez une entrée dans le tableau RISQUES du fichier server/risques.ts. Chaque risque doit définir :
{
code: 'mon_risque', // Identifiant unique
libelle: 'Mon risque', // Nom affiche
fetch: async (longitude, latitude) => {
// Appel à l'API Georisques (aiguillage vers l'endpoint v1 ou v2 selon la configuration du jeton d'authentification)
// Retourne les données brutes
},
outputSchema: z.object({...}), // Schéma Zod
text: (exposition) => {
// Retourne un résumé texte
},
layers: [ // Couches carte (ou [] si pas de carte)
{
id: 'mon_risque',
nom: 'Mon risque',
source: (exposition) => ({...}), // Source MapLibre
layer: {...}, // Config couche MapLibre (tableau accepte pour appliquer différents styles)
legend: (exposition) => {...}, // Element DOM de légende
}
]
}
Les outils exposition_risques et carte_exposition_risques prendront automatiquement en charge le nouveau risque.
Soumettre une contribution
- Forkez le dépôt
- Créez une branche depuis
main - Faites vos modifications
- Verifiez que le build passe :
npm run build - Verifiez que les tests passent :
npm test - Ouvrez une Pull Request en utilisant le template PR
Signaler un bug ou proposer une idée
Ouvrez une issue sur GitHub en utilisant le template fourni.
Code de conduite
Ce projet suit un Code de conduite. En participant, vous vous engagez a le respecter.
Licence
En contribuant, vous acceptez que vos contributions soient distribuees sous licence Apache 2.0.