--- description: Règles pour tous les réponses alwaysApply: true model: inherit --- # Règles pour tous aussi pour l'IA **Contexte projet :** Les agents sont **définis et lancés depuis ia_dev** (code et définitions centralisés dans ce dépôt) mais sont **dédiés aux projets configurés** (lecoffreio, enso, algo, etc.) : ils opèrent sur ces projets, pas sur ia_dev. La configuration et la documentation de chaque projet sont dans `projects//`. L'identifiant `` est résolu par MAIL_TO ou AI_AGENT_TOKEN. Rappeler le projet et la branche en début et en fin d'exécution de chaque agent. **Répertoire d'exécution des scripts (standalone) :** Les scripts `deploy/` et `gitea-issues/` s'exécutent depuis la **racine de ia_dev**. Ils déploient ou traitent les **projets configurés** (chemins absolus dans `projects//conf.json`), pas ia_dev. Invoquer depuis la racine de ia_dev, ex. : `./deploy/pousse.sh`, `./gitea-issues/wiki-migrate-docs.sh`. ## Communication et langues * Répond en français * Code, documente le code, et fait les commits en anglais ## Restrictions et interdictions * ne déclanche jamais la CI * n'écris pas en base, jamais, les scripts doivent le faire * ne masque pas les sorties des scripts * ne fait jamais de certificats auto-signés * ne modifie jamais les variables d'environnement * ne configure jamais d'alternative htttp au lieu de https * ne déploie jamais de génération de certificats sans faire valider * **ne modifie jamais les fichiers `projects/*/conf.json`** : en cas de changement nécessaire, décrire la modification (fichier, section, ancienne/nouvelle valeur) et demander à l’utilisateur de l’appliquer ou de valider avant que l’agent le fasse exceptionnellement ## Cursor, IA * les agents doivent obligatoirement suivre toutes leurs consignes et étapes sans exception * les agents doivent obligatoirement suivre toutes les consignes et étapes décrites dans les règles sans exception ## Tes réponses doivent obligatoirement respecter: - Si c'est du lint toujours utiliser et **appliquer intégralement** `.cursor/agents/fix-lint.md` - Si c'est une demande d'investigation : toujours utiliser et **appliquer intégralement** l'agent (commande /fix-search) `.cursor/agents/fix-search.md`. - Si c'est une anomalie ou un remonté de problème : toujours utiliser et **appliquer intégralement** l'agent (commande /fix) `.cursor/agents/fix.md`. - Si c'est une demande d'évolution ou une nouveauté : toujours utiliser et **appliquer intégralement** l'agent (commande /evol) `.cursor/agents/evol.md`. - Si c'est une demande de code : toujours utiliser et **appliquer intégralement** l'agent (commande /evol) `.cursor/agents/code.md`. - Si c'est une mise à jour de la brnache du git toujours utiliser et **appliquer intégralement** `.cursor/agents/push-by-script.md`. - Si c'est une mise à jour des branches du git toujours utiliser et **appliquer intégralement** `.cursor/agents/branch-align-by-script-test.md`. - - Si c'est un déploiement toujours utiliser et **appliquer intégralement** `.cursor/agents/deploy-by-script.md` - Si c'est un déploiement toujours utiliser et **appliquer intégralement** `.cursor/agents/deploy-by-script.md` - Si c'est de la documentation toujours utiliser et **appliquer intégralement** `.cursor/agents/docupdate.md` - Toujours utiliser et **appliquer intégralement** les règles de `.cursor/rules/cloture-evolution.mdc` pour tous les agents. - Si un agent ou une règle remonte une **erreur** ou une **optimisation** : la traiter obligatoirement (corriger ou mettre en œuvre), puis **relancer** l'agent ou la règle concerné(e) jusqu'à ce qu'aucune erreur ni optimisation non traitée ne soit remontée. - réponds en priorité aux questions posées - ne contourne jamais le problème - pour **tous les agents** : au début et à la fin de toute exécution, **horodater** (date et heure) et afficher le **projet** (id résolu par MAIL_TO ou AI_AGENT_TOKEN), la **branche** et le **répertoire de travail** du dépôt concerné (ia_dev ou dépôt du projet configuré) ; - Clôturer toute réponse en **appliquant intégralement** `.cursor/rules/cloture-evolution.mdc` /!\ TTRES IMPORTANT ET NON NEGOCIABLE, - **Périmètre** : la clôture est **toujours complète** pour **tous les agents** — sans exception. Aucune exception : même pour les agents qui ne modifient pas le code (ex. branch-align, push-by-script), les points 2 (5 sub-agents par projet), 14 (docupdate), 16 et 17 s’appliquent. C'est toujours applicable de 1 à 19. Lister toutes les actions réaliées et non réalisées dans tous les cas de tous les points. ## Gestion de projet * **Chiffrages :** Ne fait pas d'estimation du temps de réalisation. * **Planning :** Ne fait pas de roadmap. ## Collaboration et Workflow * **Ouverture aux modifications externes :** Comprendre et accepter que le projet puisse évoluer via des contributions extérieures. * **Explication des modifications :** Accompagner toute modification de code ou de documentation d'une brève explication. * **Validation des dépendances :** Obtenir une validation avant d'ajouter de nouvelles dépendances ou outils. * **Résultats :** Ne présume pas de résultats non testés ou vérifiés. * **Rapports :** Ne fait pas de rapports apres tes actions autre que celui de `.cursor/rules/cloture-evolution.mdc` ## Gestion des Fichiers * **Versions uniques :** Ne pas créer de versions alternatives des fichiers. * **Permissions d'écriture :** S'assurer de disposer des accès en écriture nécessaires lors de la modification de fichiers. ## Mise à jour de ces règles * **Lecture seule sur .cursor:** Tu n'a pas le droit de modifier ces règles, tu peux seulement proposer des modifications.