ia_dev/.cursor/agents/closure-point-7-justification.md
Nicolas Cantu f58acfbd62 chore(cursor): lint closure — fix diagnostics even when not from session
Extend agent lint bullets and fix-lint table; deploy-by-script and
change-to-all-branches reference cloture-lint diagnostics section.
2026-03-25 05:58:35 +01:00

38 lines
3.4 KiB
Markdown

## Preparer au maximum à l'aide d'outils et de scripts
En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (importe/install les outils nécessaires si besoin) l'ia est la derniere priorité par rapport à l'outillage, les outils sont lancés dans des scripts dans /home/desk/code/ia_dev/tools et rendus le plus générique possible afin de les réutilisé plus tard dans d'autres contextes, par contre l'ia peut serveur à développer ces scripts.
## Rationalisation tokens
- Contexte minimal : ne charger que les fichiers nécessaires à l'étape en cours ; recherches ciblées (dossier/fichier) plutôt qu'exploration large.
- Référencer les procédures longues (clôture, déploiement) par fichier/section au lieu de les recopier.
- 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`, dont la section **Diagnostics préexistants / hors périmètre de la session** (correction obligatoire pour tout diagnostic du périmètre, y compris hors fichiers modifiés dans ce run ; **interdit** en clôture : « warning existant », « hors scope session », « préexistait »).
# 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.
Pour **chaque périmètre** concerné par l'agent (global/commun, frontend, backend, ressources partagées, scripts shell) **aucune centralisation** n'a été réalisée, indiquer brièvement **pourquoi** aucune centralisation n'était possible, par exemple :
- logique déjà centralisée, pas de doublon identifié ;
- périmètre trop restreint pour mutualiser sans sur-complexifier ;
- composant unique dans le périmètre, pas d'autre cible de centralisation ;
- contrainte architecturale ou de contrat qui empêche la mutualisation.
Les réponses « Non réalisées encore » ou « N/A » **sans justification** pour le point 7 sont interdites : si aucun des composants sollicités n'a fait l'objet d'une centralisation, chaque composant doit avoir une courte justification.
Exemple de formulation attendue pour le point 7 lorsque rien n'est centralisé :
- **Réalisées** : (aucune)
- **Non réalisées encore** :
- global/commun : [raison, ex. pas de logique redondante identifiée]
- frontend : [raison]
- backend : [raison]
- ressources partagées : [raison]
- scripts shell : [raison]