docs(cursor): align fix-lint with strict lint closure rules

**Motivations:**
- Same lint closure expectations when running fix-lint from ia_dev (warnings as errors, min five fixes, no spurious non-applicable)

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- Add .cursor/rules/cloture-lint.mdc; tighten fix-lint agent table and intro

**Pages affectées:**
- .cursor/rules/cloture-lint.mdc, .cursor/agents/fix-lint.md
This commit is contained in:
Nicolas Cantu 2026-03-23 13:11:09 +01:00
parent dd9f5e6188
commit 293b5ec9ba
2 changed files with 33 additions and 3 deletions

View File

@ -39,7 +39,7 @@ Chacune des actions ci-dessous est **obligatoire** et doit être réalisée **de
| **Réduction de complexité** | Réduire complexité cyclomatique, profondeur, paramètres ; extraire fonctions/composants. |
| **Sécurité** | Validation des entrées, pas de secrets en dur, logging sans données sensibles, règles d'accès respectées. |
| **Code mort** | Supprimer tout code inutilisé, branches mortes, imports inutiles. |
| **Lint** | Corriger toutes les **erreurs** et tous les **warnings** de lint sans désactiver les règles. Exécuter `npm run lint` dans chaque répertoire du périmètre (backend, frontend, ressources) ; comptabiliser erreurs et warnings. En clôture, « Lint : Réalisées » uniquement si **0 erreur et 0 warning** pour chaque répertoire ; sinon « Non réalisées encore » avec le détail par répertoire. |
| **Lint** | Corriger toutes les **erreurs** et tous les **warnings** (même priorité ; **warnings = erreurs**). Exécuter `npm run lint` dans chaque répertoire du périmètre (backend, frontend, ressources) ; comptabiliser erreurs et warnings. **Interdit** : conclure « lint non applicable » sans justification stricte (tâche sans code source) — avec des sources, le lint est **normalement toujours** applicable. Si au moins un diagnostic : **corriger au moins 5 problèmes** (cumul erreurs + warnings) dans lexécution, sauf moins de 5 diagnostics au total (alors tout corriger). En clôture, « Lint : Réalisées » uniquement si **0 erreur et 0 warning** pour chaque répertoire ; sinon « Non réalisées encore » avec le détail par répertoire (voir `.cursor/rules/cloture-lint.mdc`). |
| **Types** | Types explicites, pas de `any` non justifié ; corriger toutes les erreurs de type. |
| **Compilation** | Build et typecheck OK sur chaque répertoire du périmètre. |
| **Documentation** | Mise à jour réelle de la doc (docs/, wiki) selon `.cursor/agents/docupdate.md`. |
@ -53,13 +53,17 @@ Chacune des actions ci-dessous est **obligatoire** et doit être réalisée **de
**Documentation** : La doc des projets gérés est dans **`projects/<id>/docs`** ; la doc ia_dev est dans **`projects/ia_dev/docs`**.
Corrige toutes les erreurs et tous les warnings de lint du projet (chaque répertoire : backend, frontend, ressources partagées) sans contournement ni désactivation des règles. Ne négliger aucun projet.
Corrige toutes les erreurs et tous les warnings de lint du projet (chaque répertoire : backend, frontend, ressources partagées) sans contournement ni désactivation des règles. **Warnings = erreurs.** Ne jamais conclure « lint non applicable » sans justification stricte. Si des diagnostics existent : **au moins 5 corrections** par exécution sauf moins de 5 diagnostics au total. Ne négliger aucun projet.
**Horodatage et contexte** : appliquer intégralement le bloc défini dans `.cursor/rules/cloture-evolution.mdc` (début et fin d'exécution, lancement et retour des sub-agents).
## Lint renforcé (clôture et exécution)
- Voir `.cursor/rules/cloture-lint.mdc` : pas de « non applicable » par convenance, **warnings = erreurs**, **minimum 5 corrections** lorsquil existe des diagnostics (sauf moins de 5 au total → tout corriger), décompte erreurs **et** warnings en clôture.
## Contrainte absolue
**NE JAMAIS modifier ni ce fichier ni aucun fichier dans `~/.cursor/`.** Ta tâche est UNIQUEMENT de corriger les erreurs de lint dans le code du projet. Les répertoires à linter (backend, frontend, ressources partagées, etc.) sont définis par le projet : soit par convention (ex. backend, frontend, shared), soit dans `projects/<id>/conf.json` (clé `build_dirs` ou documentation du projet). Ne pas modifier ni améliorer la définition de cet agent.
**NE JAMAIS modifier ni ce fichier ni aucun fichier dans `~/.cursor/`.** Ta tâche est UNIQUEMENT de corriger les erreurs et warnings de lint dans le code du projet. Les répertoires à linter (backend, frontend, ressources partagées, etc.) sont définis par le projet : soit par convention (ex. backend, frontend, shared), soit dans `projects/<id>/conf.json` (clé `build_dirs` ou documentation du projet). Ne pas modifier ni améliorer la définition de cet agent.
* **Résolution directe :** En cas de problème (toutes criticités), ne jamais simplifier, contourner, forcer un résultat en dur, ou créer des bouchons. Le problème doit être résolu à sa racine.

View File

@ -0,0 +1,26 @@
---
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).
## 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
- Si le lint remonte au moins un diagnostic : **corriger au moins 5 problèmes** (erreurs + warnings cumulés) avant clôture, sauf **moins de 5 diagnostics au total** (corriger **tous** jusquà 0).
## Clôture point 11
- Indiquer commandes, périmètres, décompte **erreurs et warnings** avant → après par répertoire.