docs(cursor): lint if not run during agent; min 5 fixes out of scope

**Motivations:**
- Align ia_dev agents with lecoffre_ng_test: if no lint was executed during the run, run it on project build_dirs and fix at least five issues (errors + warnings), including outside task scope.

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- cloture-lint.mdc: minimum-corrections block expanded; new section when no lint was run (repository_root / build_dirs via conf.json)
- All .cursor/agents/*.md: Rationalisation Lint bullet

**Pages affectées:**
- .cursor/rules/cloture-lint.mdc
- .cursor/agents/*.md
This commit is contained in:
Nicolas Cantu 2026-03-24 22:56:05 +01:00
parent 998af05416
commit fea263b87a
18 changed files with 45 additions and 2 deletions

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent agent-loop
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent branch-align-by-script-from-test
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -15,6 +15,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent change-to-all-branches
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -11,6 +11,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Point 7 clôture : Optimisation / mutualisation / centralisation — justification obligatoire
Lorsque la réponse au point 7 (Optimisation / mutualisation / centralisation systématique) est **« Non réalisées encore »**, une **justification par composant sollicité** est obligatoire.

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent code (qualité du code et bonnes pratiques)
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Déploiement par script (deploy-by-script)
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent deploy-pprod-or-prod
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# docupdate
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent evol (évolutions)
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Corriger les erreurs de lint (backend, frontend, ressources)
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent fix-search (investigations)
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent fix (correctifs)
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent gitea-issues-process
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -12,6 +12,8 @@ is_background: true
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent notary-ai-loop
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent notary-ai-process
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -16,6 +16,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
- Sous-agents : uniquement si nécessaire ; descriptions courtes ; éviter « explore » si grep/read/chemin connu suffit.
- Réponses concises, sans répéter règles ou docs déjà référencées.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent push-by-script
## Règle d'exécution intégrale (obligatoire, non négociable)

View File

@ -10,6 +10,8 @@ is_background: false
- Contexte minimal : résoudre `projects/<id>/conf.json``deploy.repository_root`, puis exécuter le script normalisé sous cette racine.
- Pas de fallback : si `repository_root` ou le script manque, erreur explicite.
- **Lint** : si **aucun** lint (`npm run lint` ou équivalent sur les `build_dirs` du dépôt projet : `projects/<id>/conf.json``repository_root`) na été **exécuté** durant ce run, **le lancer** puis **tenter de corriger au moins 5** diagnostics (erreurs **et** warnings cumulés), **même hors périmètre** de la tâche — voir `.cursor/rules/cloture-lint.mdc` (section **Si aucun lint na été exécuté pendant lagent**).
# Agent setup-host (générique ia_dev)
## Règle dexécution intégrale

View File

@ -17,9 +17,18 @@ Complète le point **11. Lint corrigé obligatoirement** de `.cursor/rules/clotu
- 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
## Minimum de corrections quand le lint signale des problèmes
- 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).
- 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.
## Si aucun lint na été exécuté pendant lagent
- Si, avant clôture, **aucune** commande `npm run lint` (ou équivalent par périmètre) na été **lancée** durant lexécution sur les répertoires **`build_dirs`** du dépôt projet (`repository_root` dans `projects/<id>/conf.json`, chemins relatifs à cette racine) : **lexécuter** sur chaque entrée de `build_dirs`, puis appliquer la règle **Minimum de corrections quand le lint signale des problèmes** ci-dessus.
- **Hors périmètre de la tâche** : même lorsque la mission ne portait pas sur le lint, après cette exécution obligatoire, **tenter de corriger au moins 5** diagnostics (erreurs **+** warnings cumulés sur lensemble des sorties), **sans** se limiter aux seuls fichiers modifiés par la tâche — sauf **moins de 5 diagnostics au total** (corriger **tous**) ou **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 vers un dépôt projet doivent appliquer le même principe sur le **repository_root** du projet actif.
## Clôture point 11