ia_dev/.cursor/rules/cloture-lint.mdc
Nicolas Cantu 1753029b58 docs(agents): enforce min-5 lint before closure; sync cloture-lint
- 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
2026-03-25 05:49:25 +01:00

42 lines
3.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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 leffort 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** sil 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 nest **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 labsence 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**), lexécuteur doit **tenter de corriger au moins 5 problèmes** (cumul erreurs + warnings sur lensemble 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 lexé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** : lobligation 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 sapplique à **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.