ci: Ajouter cspell pour la vérification orthographique#131
ci: Ajouter cspell pour la vérification orthographique#131nedseb merged 3 commits intofix/missing-accentsfrom
Conversation
- Installe cspell + @cspell/dict-fr-fr - Configure cspell.json avec dictionnaires fr-fr et termes techniques - Crée .cspell/steami.txt avec ~150 termes spécifiques au projet - Ajoute flagWords pour les erreurs d'accent les plus courantes - Intègre dans lint-staged (pre-commit sur *.md) - Ajoute le step "Spell check" dans le workflow CI build - Ajoute le script npm lint:spell - Corrige les derniers accents manquants détectés par cspell Closes #130
Évite les erreurs de formatage sur les .md qui passaient inaperçues au pre-commit et cassaient le CI.
There was a problem hiding this comment.
Pull request overview
Cette PR ajoute une vérification orthographique automatisée (FR/EN) via cspell pour éviter la réintroduction de fautes dans la documentation, et intègre ce contrôle en pre-commit (lint-staged) ainsi qu’en CI.
Changes:
- Ajout de
cspell+ dictionnaire@cspell/dict-fr-fr, configurationcspell.jsonet dictionnaire projet.cspell/steami.txt. - Intégration du spellcheck dans
lint-stagedpour les*.mdet ajout d’un script npmlint:spell. - Ajout d’un step “Spell check” dans le workflow GitHub Actions de build + corrections d’accents/orthographe dans plusieurs pages docs.
Reviewed changes
Copilot reviewed 24 out of 25 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| package.json | Ajoute lint:spell, dépendances cspell, et étend lint-staged sur les .md. |
| package-lock.json | Verrouille l’arbre de dépendances lié à l’ajout de cspell/dict fr. |
| cspell.json | Configure cspell (langues, dictionnaires, ignores, flagWords). |
| .cspell/steami.txt | Ajoute un dictionnaire custom de termes techniques/projet. |
| .github/workflows/build.yml | Ajoute un step CI pour exécuter npm run lint:spell. |
| docs/overview/pinout.md | Corrections d’accents (ex. “détaillée”, “Activité”). |
| docs/hardware/schematic.md | Corrections d’accents (“contrôle”, “spécifiques”). |
| docs/hardware/revisions.md | Corrections d’accents (“être”). |
| docs/hardware/pin-mapping/test-points.md | Corrections (“régulateur”, “série”). |
| docs/hardware/pin-mapping/signals.md | Corrections (“série”, “Contrôle”, “régulateur”). |
| docs/hardware/pin-mapping/power-pins.md | Corrections (“régulateur”). |
| docs/hardware/pin-mapping/internal-bus.md | Corrections (“série”, “Contrôle”). |
| docs/hardware/pin-mapping/external-connectors.md | Corrections (“série”, “débogage”). |
| docs/hardware/main-components/index.md | Correction (“piézo”). |
| docs/hardware/components/semiconductors.md | Correction (“capacité”). |
| docs/hardware/components/not-fitted.md | Corrections (“rangée(s)”). |
| docs/hardware/components/mechanical.md | Corrections (“mécaniques”). |
| docs/hardware/components/integrated-circuits.md | Corrections (“portée”, “lumière”, “proximité”, “Régulateur”, “intégrés”). |
| docs/hardware/components/inductors.md | Correction (“fréquence”). |
| docs/hardware/components/display-audio.md | Corrections (“piézo”). |
| docs/hardware/components/connectors.md | Corrections (“série”, “supérieur”, “écosystèmes”). |
| docs/hardware/components/capacitors.md | Corrections (“polymère”, “Supercapacité”). |
| docs/design/user-interface.md | Corrections (“piézo”). |
| docs/design/power.md | Correction (“piézo”). |
| docs/design/mcu-storage.md | Harmonisation FR (“Microcontrôleur …”). |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
package.json
Outdated
| "@cspell/dict-fr-fr": "^2.3.2", | ||
| "@docusaurus/module-type-aliases": "3.9.2", | ||
| "@docusaurus/types": "3.9.2", | ||
| "@eslint/js": "9.39.4", | ||
| "cspell": "^9.7.0", |
There was a problem hiding this comment.
Les nouvelles devDependencies @cspell/dict-fr-fr et cspell utilisent des versions avec ^, alors que le reste des devDependencies du repo est épinglé à des versions exactes. Pour garder des builds reproductibles et éviter des upgrades implicites via npm ci, épingler ces versions de façon exacte (et aligner package-lock.json en conséquence).
| "@cspell/dict-fr-fr": "^2.3.2", | |
| "@docusaurus/module-type-aliases": "3.9.2", | |
| "@docusaurus/types": "3.9.2", | |
| "@eslint/js": "9.39.4", | |
| "cspell": "^9.7.0", | |
| "@cspell/dict-fr-fr": "2.3.2", | |
| "@docusaurus/module-type-aliases": "3.9.2", | |
| "@docusaurus/types": "3.9.2", | |
| "@eslint/js": "9.39.4", | |
| "cspell": "9.7.0", |
package.json
Outdated
| "@cspell/dict-fr-fr": "^2.3.2", | ||
| "@docusaurus/module-type-aliases": "3.9.2", | ||
| "@docusaurus/types": "3.9.2", | ||
| "@eslint/js": "9.39.4", | ||
| "cspell": "^9.7.0", | ||
| "eslint": "9.39.4", |
There was a problem hiding this comment.
Le package cspell@9.7.0 (et plusieurs sous-packages) requiert Node >=20.18 (voir package-lock.json), alors que le champ engines.node du projet est >=20.17.0. Avec Node 20.17, l’installation peut échouer ou au minimum produire des warnings; il faut soit relever engines.node à >=20.18, soit choisir une version de cspell compatible avec la contrainte actuelle.
| "lint:links": "docker run --rm -v $PWD:/input lycheeverse/lychee --config /input/.lychee.toml --root-dir /input/static '/input/docs/**/*.md' '/input/README.md'", | ||
| "lint:examples": "npm run prebuild && python3 scripts/validate-code-examples.py", | ||
| "lint:spell": "cspell \"docs/**/*.md\" \"README.md\"", | ||
| "prepare": "husky" |
There was a problem hiding this comment.
Le script lint:spell passe une liste de fichiers (docs/**/*.md + README.md) à cspell, ce qui contourne la liste files définie dans cspell.json (qui inclut aussi CONTRIBUTING.md). Pour éviter une configuration incohérente (et pour aligner CI/pre-commit avec la config), soit inclure CONTRIBUTING.md dans la commande, soit exécuter cspell en s’appuyant sur cspell.json (sans lui passer de globs).
- Épingler les versions cspell (9.7.0) et @cspell/dict-fr-fr (2.3.2) - Relever engines.node à >=20.18.0 (requis par cspell) - Simplifier lint:spell pour utiliser la config cspell.json (inclut CONTRIBUTING.md) - Ajouter "wurth" au dictionnaire custom
Summary
cspell+@cspell/dict-fr-frpour la vérification orthographique français/anglaiscspell.jsonavec import du dictionnaire fr-fr et dictionnaire custom.cspell/steami.txt(~150 termes techniques)flagWordspour les erreurs d'accent récurrentes (developpement, memoire, ecran, etc.)prettier --check+markdownlint+cspellsur les*.mdlint:spellRésultat
Test plan
npm run lint:spell— 0 erreur sur 72 fichiersCloses #130