- Structure games/<bggId>-<nom>/ : game.json, scoring.json, rules.fr.json - 7 jeux intégrés à l'app (modèles de score), fiches de règles Azul et 6 qui prend - Schémas JSON générés depuis l'app (autocomplétion dans l'éditeur) - CI : validation avec le validateur de l'app, schémas à jour - Licence CC BY-SA 4.0, guide de contribution
2.3 KiB
Contribuer
Chaque ajout ou correction passe par une demande de fusion (pull request), relue avant publication. Le CI vérifie automatiquement les fichiers.
Ajouter un jeu
-
Trouvez le jeu sur BoardGameGeek et notez son
bggId(le nombre dans l'adresse de sa page). -
Créez le dossier
games/<bggId>-<nom-en-kebab-case>/, par exemplegames/9209-les-aventuriers-du-rail/. -
Ajoutez
game.json:{ "$schema": "../../schemas/game.schema.json", "schemaVersion": 1, "bggId": 9209, "name": "Les Aventuriers du Rail", "officialRulesUrl": "https://www.daysofwonder.com/…" } -
Ajoutez
scoring.json, le modèle de score. Sonidvautbgg-<bggId>. Le plus simple : dans l'app, Jeux → Ajouter un jeu, créez le modèle, puis Exporter le modèle depuis la fiche du jeu. Inspirez-vous aussi des jeux existants (catégories, options, cible de fin de partie, équipes…). -
Facultatif :
rules.fr.json, la fiche de règles :{ "$schema": "../../schemas/rules.schema.json", "schemaVersion": 1, "locale": "fr", "summary": "Le jeu en une ou deux phrases.", "goal": "But du jeu.", "setup": "Mise en place.", "turn": "Déroulement d'un tour.", "end": "Fin de partie.", "scoring": "Décompte des points.", "tips": "Conseils." }summary,goaletturnsont obligatoires. Texte brut, retours à la ligne autorisés. Rédigez avec vos propres mots : pas de copier-coller du livret de l'éditeur.
Vérifier avant d'envoyer
Avec un éditeur qui comprend les schémas JSON (VS Code…), la clé $schema
donne l'autocomplétion et signale les erreurs au fil de la frappe.
La validation complète (celle du CI) se lance depuis le dépôt de l'app :
pnpm --filter @skori/server content:validate ../skori-games
Jeux intégrés à l'app
Les dossiers dont game.json contient un slug (azul, cabo…)
correspondent aux jeux livrés avec l'app ; leur scoring.json garde l'id
du jeu intégré. Une correction de leur modèle de score doit aussi être
reportée dans le dépôt de l'app.
Licence
En contribuant, vous acceptez que votre contribution soit publiée sous licence CC BY-SA 4.0.