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:
34
desk/agents/README.md
Normal file
34
desk/agents/README.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# Subagents Cursor (niveau utilisateur)
|
||||
|
||||
Les subagents dans `~/.cursor/agents/` sont disponibles pour tous les projets de l'utilisateur.
|
||||
|
||||
## Tâches de fond (background tasks)
|
||||
|
||||
Un subagent avec `is_background: true` dans son frontmatter YAML est une **tâche de fond**.
|
||||
|
||||
### Fonctionnement
|
||||
|
||||
- **Foreground** : Bloque jusqu'à la fin. Retourne le résultat immédiatement. Pour les tâches séquentielles où le résultat est nécessaire.
|
||||
- **Background** : Retourne immédiatement. Le subagent travaille en parallèle. Pour les tâches longues ou le travail en parallèle.
|
||||
|
||||
### Comportement des tâches de fond
|
||||
|
||||
1. **Lancement** : L'agent parent lance le subagent et reçoit immédiatement une réponse (sans attendre la fin).
|
||||
2. **Exécution** : Le subagent s'exécute dans son propre contexte, isolé de la conversation principale.
|
||||
3. **Sortie** : Les subagents en arrière-plan écrivent leur état dans `~/.cursor/subagents/`.
|
||||
4. **Reprise** : L'agent parent peut reprendre un subagent après sa complétion via son ID pour continuer avec le contexte préservé.
|
||||
|
||||
### Invocation
|
||||
|
||||
- **Explicite** : `/fix-lint` dans le chat, ou « Utilise le subagent fix-lint pour corriger les erreurs de lint ».
|
||||
- **Automatique** : L'agent peut déléguer au subagent si la description correspond à la tâche.
|
||||
|
||||
### Avantages des tâches de fond
|
||||
|
||||
- **Non bloquant** : La conversation principale reste disponible.
|
||||
- **Parallélisme** : Plusieurs subagents peuvent tourner en même temps.
|
||||
- **Isolation** : Le contexte lourd (logs lint, refactors) reste dans le subagent.
|
||||
|
||||
### Hooks associés
|
||||
|
||||
Les hooks dans `~/.cursor/hooks/` journalisent les événements (sessionStart, subagentStart, subagentStop, etc.) dans `~/.cursor/logs/hooks.log`. Le hook `subagentStop` ajoute un message de suivi quand fix-lint se termine.
|
||||
31
desk/agents/deploy.md
Normal file
31
desk/agents/deploy.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
name: deploy
|
||||
description: Lance le déploiement (test, pprod, prod). Use when deploy is requested.
|
||||
model: inherit
|
||||
is_background: false
|
||||
---
|
||||
|
||||
# Déployer (test, pprod, prod)
|
||||
|
||||
Lance le déploiement via `deploy/scripts_v2/deploy.sh`.
|
||||
|
||||
## Usage
|
||||
|
||||
Spécifier l'environnement : `test`, `pprod` ou `prod`.
|
||||
|
||||
## Processus
|
||||
|
||||
1. Le script deploy.sh exécute un hook pre-deploy qui arrête (SIGTERM) les processus concurrents (lint, fix-lint, typecheck, turbopack) dont le cwd est dans le projet. Après déploiement, suggérer de relancer /fix-lint si nécessaire.
|
||||
2. Vérifier que les modifications sont commitées (règle projet)
|
||||
3. Exécuter `./deploy/scripts_v2/deploy.sh <env>`
|
||||
4. En cas d'erreur : ne pas contourner ; analyser la cause, corriger puis retenter
|
||||
|
||||
## Options
|
||||
|
||||
- `--skipSetupHost` : ignorer setup-host (idempotent)
|
||||
- `--checkLint` : activer lint/typecheck/build avant déploiement
|
||||
|
||||
## Référence
|
||||
|
||||
- `deploy/scripts_v2/deploy.sh`
|
||||
- `docs/DEPLOYMENT.md`
|
||||
71
desk/agents/fix-lint.md
Normal file
71
desk/agents/fix-lint.md
Normal file
@@ -0,0 +1,71 @@
|
||||
---
|
||||
name: fix-lint
|
||||
description: Corrige les erreurs de lint backend, frontend et ressources partagées. Use when lint errors need to be fixed across the monorepo.
|
||||
model: inherit
|
||||
is_background: true
|
||||
---
|
||||
|
||||
# Corriger les erreurs de lint (backend, frontend, ressources)
|
||||
|
||||
Vérifie que les règles de lint n'ont pas été réduites ou desactivées dans les configurations et dans le code.
|
||||
Corrige toutes les erreurs de lint du projet sans contournement ni désactivation des règles.
|
||||
|
||||
## 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 (lecoffre-back-main, lecoffre-front-main, lecoffre-ressources-dev). Ne pas modifier ni améliorer la définition de cet agent.
|
||||
|
||||
## Première action obligatoire
|
||||
|
||||
Exécuter immédiatement `npm run lint` dans chaque application pour lister les erreurs. Ne pas modifier de fichiers avant d'avoir la liste des erreurs.
|
||||
|
||||
## Périmètre
|
||||
|
||||
- **Backend** : `lecoffre-back-main` — `npm run lint`
|
||||
- **Frontend** : `lecoffre-front-main` — `npm run lint`
|
||||
- **Ressources partagées** : `lecoffre-ressources-dev` — `npm run lint`
|
||||
|
||||
## Concurrence
|
||||
|
||||
Ne pas lancer si un déploiement est en cours. Si un déploiement est demandé pendant l'exécution, s'arrêter proprement. Voir docs/WORKFLOWS_AND_COMPONENTS.md §10.2.1.
|
||||
|
||||
## Processus
|
||||
|
||||
1. Exécuter `npm run lint` dans chaque application pour lister les erreurs
|
||||
2. Corriger par lots de 10 erreurs maximum
|
||||
3. Entre chaque lot : lancer un test de build/typecheck pour valider
|
||||
4. Ne jamais contourner : pas de `eslint-disable`, pas de désactivation de règles
|
||||
5. Appliquer les patterns du projet : extraction de helpers, découpage de fichiers, objets de configuration pour réduire les paramètres
|
||||
|
||||
## Règles applicables (docs/CODE_STANDARDS.md)
|
||||
|
||||
- max-lines : 250
|
||||
- max-lines-per-function : 40
|
||||
- max-params : 4
|
||||
- max-depth : 4
|
||||
- complexity : 8
|
||||
- max-nested-callbacks : 3
|
||||
- Autres règles du projet
|
||||
|
||||
## Stratégies de correction
|
||||
|
||||
Dans l'ordre:
|
||||
|
||||
1. Autres règles du projet
|
||||
2. - **max-params** : regrouper dans un objet de configuration typé
|
||||
3. - **complexity** : extraire des branches dans des fonctions dédiées
|
||||
4. - **max-depth** : aplatir les imbrications avec early return
|
||||
5. - **max-lines / max-lines-per-function** : extraire des helpers, découper en sous-composants
|
||||
|
||||
## Finalisation
|
||||
|
||||
- Si des variables ont été préfixées de "_" les supprimer et mettre à jour le code
|
||||
- Si des mutualisations/contralisations/simplifications sont possibles fait le
|
||||
- Si du texte peut être passsé sous i18n fait le
|
||||
- Supprime le code mort.
|
||||
- Lance le subagent `/docupdate`
|
||||
|
||||
## Références
|
||||
|
||||
- `docs/CODE_STANDARDS.md`
|
||||
- `docs/OPERATIONS.md` (section Transition ESLint 250/40)
|
||||
- `.cursor/rules/rules.mdc`
|
||||
Reference in New Issue
Block a user