diff --git a/.cursor/rules/rules.mdc b/.cursor/rules/rules.mdc index a616411..ed6614a 100644 --- a/.cursor/rules/rules.mdc +++ b/.cursor/rules/rules.mdc @@ -24,6 +24,7 @@ model: inherit * 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 diff --git a/projects/README.md b/projects/README.md index 5cd23a9..d0a98cc 100644 --- a/projects/README.md +++ b/projects/README.md @@ -22,6 +22,15 @@ Scripts use **`MAIL_TO`** (env) for (1) or **`AI_AGENT_TOKEN`** (env) for (2); t **Usage unique : standalone.** Tous les scripts sont lancés depuis la racine de ia_dev. Les chemins dans conf sont absolus (sauf `imap_bridge_env` et `token_file`, relatifs à la racine de ia_dev). +## Rule: conf.json is read-only for agents + +**Les agents ne doivent pas modifier les fichiers `projects//conf.json`.** Si un changement de configuration est nécessaire, l’agent doit : + +1. **Décrire** clairement la modification : fichier (`projects//conf.json`), section (ex. `tickets.authorized_emails.from`), ancienne et nouvelle valeur. +2. **Demander** à l’utilisateur soit d’appliquer lui-même la modification, soit de valider pour que l’agent la fasse exceptionnellement. + +Exemple : pour autoriser une nouvelle adresse d’expéditeur, proposer « Fichier : `projects/lecoffreio/conf.json`. Modification : ajouter `"nouvelle@adresse.com"` dans le tableau `tickets.authorized_emails.from`. Valides-tu cette modification ? » + ## Schema One JSON file per project: `projects//conf.json` (e.g. `projects/lecoffreio/conf.json`). The `` is the directory name; the config file is always named `conf.json`.