Ajoute les extensions et Harmonies : Crescendo
Validation du contenu / validate (push) Successful in 43s

- Format expansions/<bggId>-<nom>/ (expansion.json, rules.fr.json),
  schémas expansion et expansion-rules, guide de contribution
- Harmonies : choix de la face des plateaux personnels (A/B), module
  Esprits de la nature renommé
- Crescendo (472690) : modules Sanctuaires et Murmures, faces C et D,
  fiche de règles résumée

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-19 11:31:47 +02:00
parent d823c1d0b9
commit 228a1e4afb
7 changed files with 593 additions and 1 deletions
+52
View File
@@ -47,6 +47,58 @@ relue avant publication. Le CI vérifie automatiquement les fichiers.
ligne autorisés. **Rédigez avec vos propres mots** : pas de copier-coller
du livret de l'éditeur.
## Ajouter une extension
Une **variante incluse dans la boîte** du jeu (mode alternatif, règle
optionnelle) est une **option** dans `scoring.json`. Un **produit vendu à
part, avec sa propre fiche BoardGameGeek**, est une **extension** :
```
games/414317-harmonies/
expansions/
472690-crescendo/ # <bggId de l'extension>-<nom>
expansion.json # obligatoire
rules.fr.json # facultatif : seulement ce qui change
```
`expansion.json` décrit uniquement ce que l'extension **ajoute** au modèle du
jeu de base :
```json
{
"$schema": "../../../../schemas/expansion.schema.json",
"schemaVersion": 1,
"bggId": 472690,
"name": "Crescendo",
"adds": {
"options": [
{ "type": "boolean", "id": "murmures", "label": "Module Murmures", "default": true }
],
"choices": [
{ "optionId": "plateau", "values": [{ "value": "C", "label": "Face C" }] }
],
"categories": [
{ "id": "murmures", "label": "Murmures", "requiresOption": "murmures", "after": "animaux" }
]
}
}
```
- `options` : chaque **module** de l'extension devient une option, que les
joueurs cochent au lancement de la partie.
- `choices` : nouvelles valeurs pour un choix existant du jeu de base.
- `categories` : nouvelles catégories de score, placées après `after` (sinon
à la fin) ; `requiresOption` les lie au module correspondant.
- `players` / `end` : remplacent le nombre de joueurs ou la fin de partie.
Le CI vérifie que l'extension s'applique au jeu de base, et que toutes les
extensions d'un jeu peuvent être jouées ensemble (pas deux fois le même
identifiant, pas deux extensions qui changent la même règle).
La fiche de règles d'une extension (`rules.fr.json`, schéma
`expansion-rules.schema.json`) n'exige que `summary` : décrivez ce qui change
(mise en place, déroulement, décompte), pas tout le jeu.
## Vérifier avant d'envoyer
Avec un éditeur qui comprend les schémas JSON (VS Code…), la clé `$schema`