Initial: desk + ncantu placeholder + per-project cursor configs

**Motivations:**
- Centraliser les fichiers Cursor (rules, skills, agents, commands, hooks) par user et par projet

**Root causes:**
- N/A

**Correctifs:**
- N/A

**Evolutions:**
- desk: rules, skills-cursor, agents, commands, hooks, argv/hooks/mcp.json
- ncantu: README placeholder
- 4NK_node, algo, builazoo, ia_local, lecoffre_ng, lecoffre_ng_pprod, lecoffre_ng_test: .cursor contents

**Pages affectées:**
- cursor/desk/, cursor/ncantu/, cursor/<project>/
This commit is contained in:
2026-03-03 23:29:29 +01:00
commit 785868b53b
114 changed files with 6455 additions and 0 deletions

View File

@@ -0,0 +1,116 @@
---
description: Workflow de clôture à exécuter à la fin de chaque évolution ou correction
alwaysApply: true
model: inherit
---
# Clôture évolution / correction
À la fin de toute évolution ou correction, exécuter ce workflow dans l'ordre. Boucler chaque bloc jusqu'à stabilisation (rien à optimiser). **Ne jamais produire une réponse partielle** : répondre à toutes les questions de clôture et lancer les subagents/plans concernés.
## Clôture obligatoire après évolution/correction
Après chaque évolution ou correction, la réponse doit inclure **obligatoirement** :
1. **Helpers :** des helpers sont-ils à utiliser ailleurs dans le code ? Des helpers existants auraient-ils pu être utilisés ? Y a-t-il des doublons de helpers ?
- Si oui : factoriser, réutiliser les helpers existants et supprimer/absorber les doublons immédiatement.
2. **Texte i18n :** les textes sont ils centralisés ? `.secrets/<env>/env-full-<env>-for-bdd-injection.txt` est il à jour ? et test, pprod, prod ?
- Si non : fait le
3. **Fallback :** As tu ajouté des fallbacks ?
- Si oui : supprime les fallback, si il y en avait avant et que tu peux les enlever sans regression, fait le.
4. **Modifications similaires :** y a-t-il des modifications similaires à produire ailleurs dans le code ?
- Si oui : les implémenter immédiatement.
5. **Optimisation / mutualisation / centralisation :** y a-t-il des optimisations possibles ?
- Si oui : les implémenter immédiatement.
6. **Sécurité :** Des failles des sécurité sont elles posibles ?
- Si oui : corrige les
7. **Code mort :** le code mort est-il nettoyé ?
- Si non : le nettoyer immédiatement.
8. **Lint :** les fichiers corrigés sont-ils exempts derreurs de lint ?
- Réponse attendue : constat uniquement, **ne pas corriger** ici.
9. **Types :** les vérifications de types du projet sont-elles OK ?
- Si non : corriger, même si lerreur ne vient pas des modifications en cours.
10. **Compilation :** le projet compile-t-il ?
- Si non : corriger, même si lerreur ne vient pas des modifications en cours.
11. **Documentation :** Rationaliser la documentation
Si la réponse déclenche de nouvelles actions, cette checklist doit être rejouée en boucle jusquà stabilisation (code propre), avec lancement des subagents nécessaires pour exécuter les tâches.
## Orchestration des subagents et plans
Après une correction ou évolution, lancer en boucle jusqu'à succès :
- **Lint** : Si erreurs détectées → `mcp_task` generalPurpose avec prompt fix-lint (ou exécution manuelle) ; boucler jusqu'à 0 erreur.
- **Déploiement** : Si déploiement requis et validé → `mcp_task` subagent_type="deploy" avec env ; en cas d'échec, orchestrer la correction (investigation, correctif, relance) sans s'arrêter.
- **Tests** : Compléter et lancer les tests concernés.
Ne pas s'arrêter au rapport d'échec d'un subagent : prendre le relais, corriger, relancer.
## 1. Tests
- Compléter les tests manquants (user stories)
- Lancer les tests, corriger les échecs, boucler
- Rationaliser les tests (supprimer doublons, mutualiser)
## 2. Types
- Chercher si les types sont à optimiser (`npm run typecheck`, `npx tsc --noEmit`)
- Si oui, implémenter et boucler jusqu'à rien à optimiser
## 3. Reproductions
- Chercher si des changements similaires doivent être reproduits ailleurs
- Si oui, implémenter et boucler jusqu'à rien à reproduire
## 4. Factorisation / optimisation
- Chercher factorisation, mutualisation, centralisation possibles
- Si oui, implémenter et boucler jusqu'à rien à optimiser
## 5. Lint
- Chercher erreurs de lint (`npm run lint`, `ReadLints`)
- Si oui, corriger et boucler jusqu'à rien à corriger
- Sinon, vérifier si on peut être plus exigeant sur la qualité
## 6. Sécurité
- Chercher améliorations de sécurité possibles (`docs/CODE_SECURITY.md`)
- Si oui, implémenter et boucler jusqu'à rien à améliorer
## 7. Documentation
- Mettre à jour la doc : REX + descriptions (OPERATIONS.md, FRONTEND.md, CODE_STANDARDS.md selon périmètre)
- Rationaliser la doc (supprimer doublons, fusionner)
## 8. Déploiement (après validation utilisateur)
- Le script deploy.sh exécute un hook pre-deploy qui arrête (SIGTERM) les processus concurrents dont le cwd est dans le projet, puis suggère de relancer /fix-lint après le déploiement.
- Demander validation avant déploiement
- Déployer sur l'environnement de la branche locale (`deploy/scripts/build-and-deploy.sh`)
- Analyser les logs du déploiement
- Si corrections nécessaires, implémenter et boucler
- Si optimisations déploiement possibles, implémenter et boucler
- Si améliorations sécurité déploiement possibles, implémenter et boucler
- Mettre à jour la doc déploiement : REX + descriptions puis rationaliser
## Plan et commande
- **Plan** : `~/.cursor/plans/workflow-cloture-evolution.plan.md` (niveau utilisateur)
- **Commande** : `/cloture-evolution` (déclenche l'exécution du plan)
## Outils
- Lint : `mcp_task` generalPurpose avec prompt détaillé (fix-lint via mcp_task non fonctionnel)
- Déploiement : `mcp_task` subagent_type="deploy" ou exécution manuelle du script
- Tests : MCP browser, `user_stories/`