- Rationalisation lint bullet: always run + fix min(5,N); forbid deferring to /fix-lint alone - deploy-pprod-or-prod: step 6 lint + fin checklist; change-to-all-branches checklist item 8 - deploy-by-script: section 4 lint min. 5; cloture-lint.mdc obligation block
42 lines
3.9 KiB
Plaintext
42 lines
3.9 KiB
Plaintext
---
|
||
description: Renforce le point 11 (lint) de la clôture — exécution depuis ia_dev sur les dépôts projet
|
||
alwaysApply: true
|
||
---
|
||
|
||
# Clôture — point Lint (complément obligatoire)
|
||
|
||
Complète le point **11. Lint corrigé obligatoirement** de `.cursor/rules/cloture-evolution.mdc` pour toute exécution qui touche du code dans un dépôt projet (backend, frontend, ressources).
|
||
|
||
## Obligation systématique (même après `pousse` ou build)
|
||
|
||
- Avant clôture, sur tout dépôt projet ayant des `build_dirs` : exécuter le lint sur **chaque** entrée ; si **N ≥ 1**, appliquer **au moins min(5, N)** corrections **dans le run courant** (commits dans le workspace si besoin).
|
||
- Un lint **déjà** exécuté pendant `pousse`, un script de build ou une étape intermédiaire **sans** modifications ESLint enregistrées dans le dépôt **ne dispense pas** cette étape.
|
||
- **Interdit** de clôturer le point lint en reportant l’effort sur un appel **`/fix-lint` séparé** ou « à faire plus tard » : les corrections requises font partie du **même run** que la clôture (sauf enchaînement **immédiat** de `/fix-lint` dans ce run, avec décompte final identique).
|
||
|
||
## Interdiction de « lint non applicable » par convenance
|
||
|
||
- **« Lint non applicable »** sans justification stricte est **interdit** s’il existe des sources dans le périmètre (`build_dirs` du `conf.json` du projet).
|
||
- **Norme** : avec du code versionné, le lint est **toujours** applicable ; ce n’est **normalement jamais** hors sujet.
|
||
- **Exception** : tâche sans fichier source modifié ; **justifier** en une phrase et lancer `npm run lint` sur les `build_dirs` si possible pour confirmer l’absence de régression.
|
||
|
||
## Warnings = erreurs
|
||
|
||
- Même exigence de correction pour **warnings** et **erreurs**. **« Lint : Réalisées »** seulement si **0 erreur et 0 warning** par répertoire du périmètre (sauf exceptions documentées projet).
|
||
|
||
## Minimum de corrections quand le lint signale des problèmes
|
||
|
||
- Si `npm run lint` (ou commande équivalente par périmètre, dans chaque répertoire listé dans `build_dirs` du `projects/<id>/conf.json` du **dépôt projet** concerné, chemins relatifs à `repository_root`) rapporte au moins un diagnostic (**erreur ou warning**), l’exécuteur doit **tenter de corriger au moins 5 problèmes** (cumul erreurs + warnings sur l’ensemble des lots pertinents) **avant** de clôturer, sauf :
|
||
- **moins de 5 diagnostics au total** : alors **corriger tous** les diagnostics restants jusqu’à épuisement ou jusqu’à 0 ;
|
||
- **0 diagnostic après corrections** : clôture lint conforme.
|
||
- Si l’exécuteur ne peut pas atteindre 5 corrections malgré des diagnostics restants, **documenter** pourquoi (dépendance bloquante, périmètre hors tâche avec accord explicite utilisateur) ; **ne pas** utiliser « non applicable » à la place.
|
||
|
||
## Exécution lint avant clôture (toujours)
|
||
|
||
- **Toujours**, avant clôture sur les `build_dirs` du dépôt projet : lancer `npm run lint` (ou équivalent) sur chaque entrée, puis appliquer **Minimum de corrections quand le lint signale des problèmes** et la section **Obligation systématique** ci-dessus — **y compris** si une commande lint a déjà tourné plus tôt dans le run **sans** corrections enregistrées dans le dépôt.
|
||
- **Hors périmètre métier de la tâche** : l’obligation de corriger **au moins 5** diagnostics (ou tous si N < 5) reste en vigueur ; ne pas se limiter aux seuls fichiers modifiés par la tâche — sauf **impossibilité documentée** (accord utilisateur explicite, dépendance bloquante).
|
||
- Cette section s’applique à **tous** les agents du dépôt **ia_dev** (référence dans `.cursor/agents/*.md`). Les délégations depuis un dépôt projet (ex. LeCoffre) doivent appliquer le même principe sur le **repository_root** du projet actif.
|
||
|
||
## Clôture point 11
|
||
|
||
- Indiquer commandes, périmètres, décompte **erreurs et warnings** avant → après par répertoire.
|