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
This commit is contained in:
Nicolas Cantu 2026-03-25 05:49:25 +01:00
parent 16302e5814
commit 1753029b58
18 changed files with 35 additions and 24 deletions

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent agent-loop

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent branch-align-by-script-from-test

View File

@ -15,8 +15,6 @@ 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)
@ -34,7 +32,8 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp
5. Exécuter **/push-by-script** (message fourni par l'agent).
6. Exécuter `./deploy/change-to-all-branches.sh [project_id]` (timeout long).
7. **En échec du script** : identifier la cause (sortie + logs/deploy_*.log). Si typecheck / lint / build : lancer **intégralement** l'agent **/fix-lint** pour le projet, puis **/push-by-script**, puis relancer `./deploy/change-to-all-branches.sh [project_id]`. Répéter jusqu'à succès ou **maximum 5 tentatives** ; au-delà, documenter les erreurs et s'arrêter.
8. Clôture : points 1 à 16 de cloture-evolution.mdc (horodatage, 5 périmètres 3-11, 12-14, 15, 16).
8. **Lint min. 5 avant clôture** : sur `repository_root`, lint chaque `build_dir` ; si **N ≥ 1**, corriger **au moins min(5, N)** dans **ce** run ; décompte avant/après. **Interdit** de clôturer en reportant seul sur un **`/fix-lint` ultérieur** sans ces corrections. Si fichiers modifiés : **/push-by-script** avant clôture si le dépôt nest pas clean.
9. Clôture : points 1 à 16 de cloture-evolution.mdc (horodatage, 5 périmètres 3-11, 12-14, 15, 16).
---

View File

@ -11,7 +11,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Point 7 clôture : Optimisation / mutualisation / centralisation — justification obligatoire

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent code (qualité du code et bonnes pratiques)

View File

@ -16,8 +16,6 @@ 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)
@ -71,6 +69,10 @@ Le script fait alors automatiquement : suivi des branches origin, sync de la bra
- Si le script sort avec 0 : rapporter le succès.
- Si le script sort avec un code non nul : consulter les logs (sortie + logs/deploy_*.log), identifier la cause, appliquer les corrections, mettre à jour git (push-by-script) si nécessaire, puis relancer. Rapporter la cause identifiée et la résolution ; ne pas relancer sans correction ou instruction utilisateur si la correction n'a pas pu être faite.
## 4. Lint min. 5 avant clôture (obligatoire)
Sur le `repository_root` du projet (`projects/<id>/conf.json`) : exécuter le lint dans chaque `build_dir` ; si **N ≥ 1** diagnostics (erreurs+warnings), corriger **au moins min(5, N)** **dans ce run**. **Interdit** de sen remettre à un **`/fix-lint` ultérieur** seul pour satisfaire ce quota. Documenter le décompte en clôture. Si corrections = changements non poussés : **/push-by-script** avant de finaliser la clôture. Voir la puce **Lint (obligatoire avant clôture)** (rationalisation) et `.cursor/rules/cloture-lint.mdc`.
## Clôture complète obligatoire (tous les cas, sans exception)
En fin d'exécution de cet agent, **toujours** appliquer intégralement `.cursor/rules/cloture-evolution.mdc` : points 1 à 19. Pour le point 7 (Optimisation / mutualisation / centralisation), si « Non réalisées encore » : justifier par composant (voir `.cursor/agents/closure-point-7-justification.md`). Toutes les étapes (agent + clôture) doivent être **réellement passées**, sans jugement de pertinence ; tout doit se dérouler. (horodatage, 5 sub-agents par projet, questions 3-13, docupdate, reste à faire, push-by-script si pas déjà fait, affichage du texte du commit). **Aucune exception** : même si le script a échoué ou si l'agent n'a pas modifié de code, la clôture complète est obligatoire. Lister les actions réalisées et non réalisées pour chaque point.

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 (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent deploy-pprod-or-prod
## Règle d'exécution intégrale (obligatoire, non négociable)
@ -57,7 +59,7 @@ Si lutilisateur ou un autre processus **a** déjà aligné / poussé : **le s
### Vérification obligatoire — fin dagent (avant clôture)
Cocher explicitement : **« Ordre anti-duplication : respecté (pas de `/push-by-script` ni `/change-to-all-branches` standalone avant létape 2 hors ce workflow) »** — ou documenter lexception si évolution du fichier sans étape 2.
Cocher explicitement : **« Ordre anti-duplication : respecté (pas de `/push-by-script` ni `/change-to-all-branches` standalone avant létape 2 hors ce workflow) »** — ou documenter lexception si évolution du fichier sans étape 2. Cocher aussi : **« Lint min. 5 : exécuté sur repository_root + décompte avant/après (ou 0 diagnostic) ; pas de report seul sur /fix-lint »**.
## Workflow obligatoire
@ -78,6 +80,8 @@ Cocher explicitement : **« Ordre anti-duplication : respecté (pas de `/push-by
5. **Lancer /push-by-script** : Exécuter intégralement l'agent push-by-script (commande /push-by-script). Message de commit fourni par l'agent selon les règles du projet.
6. **Lint min. 5 sur le dépôt applicatif** : Avant la clôture, se placer dans `repository_root` (`projects/<id>/conf.json`). Exécuter le lint dans **chaque** entrée de `build_dirs`. Si **N ≥ 1** diagnostics (erreurs+warnings) : corriger **au moins min(5, N)** dans **ce** run. **Interdit** de clôturer le point lint en renvoyant uniquement à un **`/fix-lint` ultérieur**. Documenter décompte avant/après. Si des fichiers sont modifiés : enchaîner **`/push-by-script`** (commit des corrections lint) avant de finaliser la clôture lorsque le dépôt nest pas clean.
## 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). Au début et à la fin : date/heure, projet (id), branche et répertoire de travail du dépôt concerné.

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# docupdate

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent evol (évolutions)

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Corriger les erreurs de lint (backend, frontend, ressources)

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent fix-search (investigations)

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent fix (correctifs)

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent gitea-issues-process

View File

@ -12,7 +12,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent notary-ai-loop

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent notary-ai-process

View File

@ -16,7 +16,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent push-by-script

View File

@ -10,7 +10,7 @@ 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**).
- **Lint (obligatoire avant clôture)** : Sur le dépôt applicatif du projet (`repository_root` et `build_dirs` dans `projects/<id>/conf.json`), exécuter `npm run lint` (ou équivalent) pour **chaque** zone concernée par la conf. Compter **erreurs + warnings**. Si **N ≥ 1** : appliquer des corrections dans **ce** run jusqu'à traiter **au moins min(5, N)** diagnostics (donc **au moins 5** lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). **Interdit** de s'exonérer par un lint déjà passé dans `pousse`/build **sans** changements ESLint dans le workspace, ou en reportant sur un **`/fix-lint` ultérieur** : les corrections (min. 5 quand N 5) font partie **du même run** que la clôture. Clôture : commandes, périmètres, **décompte avant/après**. Voir `.cursor/rules/cloture-lint.mdc`.
# Agent setup-host (générique ia_dev)

View File

@ -7,6 +7,12 @@ alwaysApply: true
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).
@ -24,11 +30,11 @@ Complète le point **11. Lint corrigé obligatoirement** de `.cursor/rules/clotu
- **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
## Exécution lint avant clôture (toujours)
- 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.
- **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