ia_dev/.cursor/rules/cloture-lint.mdc
Nicolas Cantu f6c1ce0399 docs(agents): lint on every build_dir, not only session-touched subtree
- cloture-lint.mdc: all build_dirs scope
- Lint rationalisation bullet + deploy-by-script §4, change-to-all-branches step 8, fix-lint
2026-03-25 13:43:15 +01:00

46 lines
4.4 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).
## Périmètre : tous les `build_dirs` (pas seulement la session)
Le lint obligatoire porte sur **chaque** entrée listée dans `build_dirs` du `projects/<id>/conf.json` du dépôt projet actif (ex. LeCoffre : backend, frontend, ressources partagées). **Interdit** de restreindre lexécution ou les corrections au seul sous-projet « concerné » par la tâche en cours (ex. correctif backend uniquement : lancer et traiter le lint aussi sur front et ressources). Même règle pour les agents **ia_dev** et les délégations depuis `LECOFFRE_REPO`.
## 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.