diff --git a/.smartIde/agents/change-to-all-branches.md b/.smartIde/agents/change-to-all-branches.md index 32aa755..0702c09 100644 --- a/.smartIde/agents/change-to-all-branches.md +++ b/.smartIde/agents/change-to-all-branches.md @@ -48,15 +48,15 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp **Documentation** : La doc des projets gérés est dans **`projects//docs`** ; la doc ia_dev est dans **`projects/ia_dev/docs`**. -**Rôle de l’agent :** vérifier que la branche locale est test (sinon retour 1), fournir le message de commit (via /push-by-script), lancer le script, contrôler la sortie et le code de retour. **Rôle du script :** exécution déterministe (vérif branche test, `branch-align.sh test`, puis sauf **`--align-only`** : **`orchestrator.sh test --no-sync-origin`** ou, à défaut, **`bash deploy/scripts_v2/deploy-lecoffre-all-sites.sh test --no-sync-origin`** — **toujours les trois lignes** lecoffreio / enso / genealogie lorsque le dépôt expose **`deploy-lecoffre-all-sites.sh`** ; repli historique **`deploy.sh test`** uniquement si ce script est absent). Flags métier via **`$SECRETS_BASE//test/deploy.conf`** (par ligne) ; journalisation **`./logs/deploy_*.log`**. Préparation OS : **`/setup-host`** + **`run-setup-host.sh`**, pas confondre avec le déploiement applicatif. +**Rôle de l’agent :** vérifier que la branche locale est test (sinon retour 1), fournir le message de commit (via /push-by-script), lancer le script, contrôler la sortie et le code de retour. **Rôle du script :** exécution déterministe (vérif branche test, `branch-align.sh test`, puis sauf **`--align-only`** : **`orchestrator.sh test --no-sync-origin`** ou, à défaut, **`bash deploy/scripts_v2/deploy-multisite-lines.sh test --no-sync-origin`** — **toujours les trois lignes** lecoffreio / enso / genealogie lorsque le dépôt expose **`deploy-multisite-lines.sh`** ; repli historique **`deploy.sh test`** uniquement si ce script est absent). Flags métier via **`$SECRETS_BASE//test/deploy.conf`** (par ligne) ; journalisation **`./logs/deploy_*.log`**. Préparation OS : **`/setup-host`** + **`run-setup-host.sh`**, pas confondre avec le déploiement applicatif. -**Projet kogus (monorepo LeCoffre) :** si le script enchaîne **`deploy/scripts_v2`**, appliquer le contrat multisite (**`SITE_CODE`** / **`deploy-site.sh`** / **`deploy-lecoffre-all-sites.sh`**, secrets **`.secrets///`**) décrit dans **`repository_root/docs/features/multi-site-architecture.md`** et **`repository_root/.cursor/agents/agent-paths-registry.md`** §3 bis (les agents Cursor du dépôt applicatif sont sous **`.cursor/agents/`**, pas **`.smartIde`**). +**Projet kogus (monorepo LeCoffre) :** si le script enchaîne **`deploy/scripts_v2`**, appliquer le contrat multisite (**`SITE_CODE`** / **`deploy-site.sh`** / **`deploy-multisite-lines.sh`**, secrets **`.secrets///`**) décrit dans **`repository_root/docs/features/multi-site-architecture.md`** et **`repository_root/.cursor/agents/agent-paths-registry.md`** §3 bis (les agents Cursor du dépôt applicatif sont sous **`.cursor/agents/`**, pas **`.smartIde`**). **Branche applicative test-first (obligatoire) :** Toute correction de code, configuration ou documentation dans le **dépôt applicatif** (`repository_root` dans `projects//conf.json`) pendant l’exécution de cet agent doit être réalisée sur la branche locale **test**. Avant toute modification : si le dépôt applicatif n’est pas sur **test**, exécuter **`git checkout test`** (ou équivalent validé projet). **Interdit** : committer un correctif **uniquement** sur **pprod** ou **prod** depuis cet agent. Si l’échec ou le contexte provient d’une phase **pprod**/**prod** (correctifs identifiés après déploiement ou analyse sur ces branches), appliquer la procédure **Corrections découvertes sur pprod ou prod** dans `.smartIde/agents/deploy-pprod-or-prod.md` : correctifs sur **test**, pousser **hors** **`/deploy-pprod-or-prod`** si besoin, puis **nouvelle** invocation utilisateur de **`/deploy-pprod-or-prod`** (workflow depuis l’**étape 2** ; **une** tentative de **`deploy-by-script-to`** par ouverture d’agent — **§ Politique** dans le même fichier). **Ne pas** confondre avec l’agent **`/change-to-all-branches`** (déploiement **test** multisite). **Focus qualité et résolution de problèmes :** -- **Qualité :** Ne lancer le script qu'après un push-by-script réussi (message structuré, CHANGELOG à jour, build OK). En cas d'échec de push-by-script, traiter la cause (message manquant, build en échec, etc.) avant de continuer. +- **Qualité :** Ne lancer le script qu'après un push-by-script réussi (message structuré, CHANGELOG à jour). **`/push-by-script`** ne compile pas : l’absence de build dans ce flux n’est pas un échec de push-by-script. En cas d'échec de push-by-script, traiter la cause (message manquant, script en erreur, etc.) avant de continuer. - **Résolution de problèmes :** Si **`change-to-all-branches.sh`** échoue, analyser la sortie pour identifier la cause ; appliquer les corrections (**`/fix-lint`**, **`/push-by-script`**) **sans** relancer le script de déploiement test dans le même run (**§ Politique**). @@ -79,7 +79,7 @@ Si la branche locale actuelle n'est pas test, retourner 1. Uniquement en test (branche git), exécuter dans l'ordre : 1. **/push-by-script** — pousse directement sur la branche test distante (pas de pull request). Message de commit fourni par l'agent. -2. **Exécuter depuis la racine de ia_dev** : `./deploy/change-to-all-branches.sh [project_id]` — aligne origin/test, origin/pprod, origin/prod sur le SHA de test, puis déploie **test** en **multisite** (`orchestrator.sh` ou **`deploy-lecoffre-all-sites.sh test --no-sync-origin`** ; métier via **`deploy.conf`** par site ; logs **`./logs/`**). project_id optionnel. Push direct uniquement ; aucun PR. **Ne pas** passer **`--align-only`** pour cet agent (cette option saute le déploiement **test** ; elle est utilisée par **`/deploy-pprod-or-prod`** étape 2 uniquement). +2. **Exécuter depuis la racine de ia_dev** : `./deploy/change-to-all-branches.sh [project_id]` — aligne origin/test, origin/pprod, origin/prod sur le SHA de test, puis déploie **test** en **multisite** (`orchestrator.sh` ou **`deploy-multisite-lines.sh test --no-sync-origin`** ; métier via **`deploy.conf`** par site ; logs **`./logs/`**). project_id optionnel. Push direct uniquement ; aucun PR. **Ne pas** passer **`--align-only`** pour cet agent (cette option saute le déploiement **test** ; elle est utilisée par **`/deploy-pprod-or-prod`** étape 2 uniquement). - **Paramètres :** Arguments : **project_id** optionnel (ex. kogus), puis optionnellement **`--align-only`** (hors périmètre de **cet** agent). La branche git est toujours **test**. Si l'utilisateur fournit des tokens ambigus (ex. « test kogus »), extraire le **project_id** quand `projects//conf.json` existe : `./deploy/change-to-all-branches.sh kogus`. - **Pas de timeout :** Ne pas lancer la commande avec un timeout court (ex. 5 min). Le déploiement (build, migrations, import-v1, redémarrage services, vérifications) peut durer 10 à 30 min ; utiliser un timeout long ou aucun timeout pour laisser le script aller au bout. diff --git a/.smartIde/agents/deploy-by-script.md b/.smartIde/agents/deploy-by-script.md index 8a849c8..2ddc8c0 100644 --- a/.smartIde/agents/deploy-by-script.md +++ b/.smartIde/agents/deploy-by-script.md @@ -30,7 +30,7 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp - **Tentative de déploiement** : une exécution de **`./deploy/deploy-by-script-to.sh [project_id] `** (le script enchaîne l’orchestration **`deploy/scripts_v2`** / multisite selon le projet). - **Par message utilisateur / ouverture d’agent** : **au plus une** tentative ; si le code de sortie est **non nul**, **ne pas** relancer **`deploy-by-script-to.sh`** vers le **même** environnement dans le **même** run. - **Après échec** : analyser la sortie et **`logs/deploy_*.log`**, documenter la cause et les prérequis ; corrections code / config / doc et **`/push-by-script`** possibles **sans** nouvel appel au script de déploiement ; l’utilisateur relance explicitement **`/deploy-by-script`** (ou équivalent) pour un nouvel essai. -- **Alignement** : **`LECOFFRE_REPO/.cursor/agents/deploy-test-by-script.md`** (test, **`deploy-lecoffre-all-sites.sh`**) et **`.smartIde/agents/deploy-pprod-or-prod.md`** / **`change-to-all-branches.md`** pour la même règle sur leurs commandes respectives. +- **Alignement** : **`LECOFFRE_REPO/.cursor/agents/deploy-test-by-script.md`** (test, **`deploy-multisite-lines.sh`**) et **`.smartIde/agents/deploy-pprod-or-prod.md`** / **`change-to-all-branches.md`** pour la même règle sur leurs commandes respectives. --- @@ -42,7 +42,7 @@ En tant qu'agent, avant de solliciter l'ia, regarde ce que tu peux scripter (imp ## Multisite — projet **kogus** (site produit `lecoffreio` = ligne notaire) -Lorsque le playbook appelle **`repository_root/deploy/scripts_v2/`**, respecter la boucle **`SITE_CODE`** (**`lecoffreio`**, **`enso`**, **`genealogie`**) ou **`deploy-site.sh`** / **`deploy-lecoffre-all-sites.sh`** ; **`deploy-by-script-to`** ne positionne pas **`SITE_CODE`**. Secrets : **`.secrets///`**. Source normative : **`repository_root/docs/features/multi-site-architecture.md`** ; **`repository_root/.cursor/agents/agent-paths-registry.md`** §3 bis ; § **Multisite** dans **`repository_root/.cursor/agents/deploy-pprod-or-prod.md`**. **Une seule ligne** : **neuf agents** (site × env) — **`deploy-test-lecoffreio`**, **`deploy-test-enso`**, **`deploy-test-genealogie`**, **`deploy-pprod-lecoffreio`**, **`deploy-pprod-enso`**, **`deploy-pprod-genealogie`**, **`deploy-prod-lecoffreio`**, **`deploy-prod-enso`**, **`deploy-prod-genealogie`** (fichiers **`.smartIde/agents/deploy-*.md`**, playbook canonique sous **`LECOFFRE_REPO/.cursor/agents/`**). **Repli paramétrique** : **`deploy-test-site.md`** (**`deploy-site.sh test `**), **`deploy-pprod-or-prod-site.md`** (align puis **`deploy-site.sh `**, sans **`deploy-by-script-to`**). +Lorsque le playbook appelle **`repository_root/deploy/scripts_v2/`**, respecter la boucle **`SITE_CODE`** (**`lecoffreio`**, **`enso`**, **`genealogie`**) ou **`deploy-site.sh`** / **`deploy-multisite-lines.sh`** ; **`deploy-by-script-to`** ne positionne pas **`SITE_CODE`**. Secrets : **`.secrets///`**. Source normative : **`repository_root/docs/features/multi-site-architecture.md`** ; **`repository_root/.cursor/agents/agent-paths-registry.md`** §3 bis ; § **Multisite** dans **`repository_root/.cursor/agents/deploy-pprod-or-prod.md`**. **Une seule ligne** : **neuf agents** (site × env) — **`deploy-test-lecoffreio`**, **`deploy-test-enso`**, **`deploy-test-genealogie`**, **`deploy-pprod-lecoffreio`**, **`deploy-pprod-enso`**, **`deploy-pprod-genealogie`**, **`deploy-prod-lecoffreio`**, **`deploy-prod-enso`**, **`deploy-prod-genealogie`** (fichiers **`.smartIde/agents/deploy-*.md`**, playbook canonique sous **`LECOFFRE_REPO/.cursor/agents/`**). **Repli paramétrique** : **`deploy-test-site.md`** (**`deploy-site.sh test `**), **`deploy-pprod-or-prod-site.md`** (align puis **`deploy-site.sh `**, sans **`deploy-by-script-to`**). Cet agent lance le déploiement vers l’**environnement passé au script** (ex. `./deploy/deploy-by-script-to.sh test|pprod|prod`) via **scripts_v2**. **Si `deploy.host_stays_on_test` est absent ou false :** en pratique la branche locale du dépôt applicatif correspond souvent à l’env cible pour **pprod**/**prod**. **Rôle de l’agent :** vérifier le contexte (si **`host_stays_on_test`** : branche locale = **test** ; sinon : cohérence branche / env selon le projet), lancer le script, contrôler la sortie et le code de retour, synthèse et clôture. **Rôle du script :** exécution et orchestration sûre (suivi branches, sync, log, déploiement). @@ -61,7 +61,7 @@ Cet agent lance le déploiement vers l’**environnement passé au script** (ex. **Horodatage et contexte** : appliquer intégralement le bloc défini dans `.smartIde/rules/cloture-evolution.mdc` (début et fin d'exécution, lancement et retour des sub-agents). **Avant d'exécuter un script du projet :** -1. Lire le fichier du script avec l'outil de lecture (ex. `deploy/scripts_v2/deploy.sh` ; pour **kogus**, lire aussi **`deploy-site.sh`** / **`deploy-lecoffre-all-sites.sh`** si le flux les utilise). +1. Lire le fichier du script avec l'outil de lecture (ex. `deploy/scripts_v2/deploy.sh` ; pour **kogus**, lire aussi **`deploy-site.sh`** / **`deploy-multisite-lines.sh`** si le flux les utilise). 2. Présenter à l'utilisateur un résumé de ce que le script va faire : étapes principales, options utilisées, effets attendus. 3. Lancer le script uniquement après cette présentation. diff --git a/.smartIde/agents/deploy-pprod-or-prod.md b/.smartIde/agents/deploy-pprod-or-prod.md index a25d726..d24cb77 100644 --- a/.smartIde/agents/deploy-pprod-or-prod.md +++ b/.smartIde/agents/deploy-pprod-or-prod.md @@ -82,7 +82,7 @@ Cocher explicitement : **« Ordre anti-duplication : respecté (pas d’agent `/ ## Multisite — projet **kogus** (monorepo LeCoffre ; code produit site `lecoffreio` inchangé) -Quand **`repository_root`** est le monorepo LeCoffre et **`deploy-by-script-to`** enchaîne **`deploy/scripts_v2/`**, l’orchestration doit couvrir **`notary`**, **`enso`**, **`genealogie`** (**`SITE_CODE`** ou **`deploy-site.sh`** / **`deploy-lecoffre-all-sites.sh`**) ; **`deploy-by-script-to`** ne définit pas **`SITE_CODE`**. Secrets : **`.secrets///`**. Doc : **`repository_root/docs/features/multi-site-architecture.md`** ; **`repository_root/.cursor/agents/agent-paths-registry.md`** §3 bis ; **`repository_root/.cursor/agents/deploy-pprod-or-prod.md`** § Multisite. +Quand **`repository_root`** est le monorepo LeCoffre et **`deploy-by-script-to`** enchaîne **`deploy/scripts_v2/`**, l’orchestration doit couvrir **`notary`**, **`enso`**, **`genealogie`** (**`SITE_CODE`** ou **`deploy-site.sh`** / **`deploy-multisite-lines.sh`**) ; **`deploy-by-script-to`** ne définit pas **`SITE_CODE`**. Secrets : **`.secrets///`**. Doc : **`repository_root/docs/features/multi-site-architecture.md`** ; **`repository_root/.cursor/agents/agent-paths-registry.md`** §3 bis ; **`repository_root/.cursor/agents/deploy-pprod-or-prod.md`** § Multisite. ## Workflow obligatoire @@ -90,15 +90,15 @@ Quand **`repository_root`** est le monorepo LeCoffre et **`deploy-by-script-to`* 2. **Alignement branches (sans déploiement test)** : - **Prérequis** : **`origin/test`** porte le commit à déployer (commits locaux poussés **hors** cet agent : **`/push-by-script`**, **`./deploy/pousse.sh kogus`**, etc.). Si le clone **test** est en avance sur **`origin/test`**, **arrêter** et indiquer de pousser d’abord. - - Depuis la racine ia_dev : **`./deploy/change-to-all-branches.sh [project_id] --align-only`** (**pas** d’appel **`deploy-lecoffre-all-sites.sh test`** / **`orchestrator.sh test`** dans cette étape). + - Depuis la racine ia_dev : **`./deploy/change-to-all-branches.sh [project_id] --align-only`** (**pas** d’appel **`deploy-multisite-lines.sh test`** / **`orchestrator.sh test`** dans cette étape). - **Ne pas** invoquer l’agent **`/change-to-all-branches`** ici : cet agent enchaîne le déploiement **test** ; pour un déploiement test complet, flux séparé **`/change-to-all-branches`**. - **Si KO :** Analyser la sortie (et **`logs/deploy_*.log`** si un outil amont les a alimentés). Toute correction sur le dépôt applicatif : **test** d’abord (voir section **Corrections découvertes sur pprod ou prod**), puis **au plus une** nouvelle exécution de l’**étape 2** dans le même run si l’échec est purement d’alignement Git ; sinon documenter et s’arrêter. - **Si OK :** Passer à l'étape 3. 3. **Lancer le script deploy-by-script-to** avec l’environnement en paramètre (`pprod` ou `prod`) : - Le script est lancé depuis la racine de ia_dev. Avec project_id (optionnel), MAIL_TO ou AI_AGENT_TOKEN le dépôt cible est celui de la conf (deploy.secrets_path). Lancer : `./deploy/deploy-by-script-to.sh [project_id] `. - - **`deploy.host_stays_on_test: true`** dans `projects//conf.json` (LeCoffre : **true** dans `projects/kogus/conf.json`) : le clone applicatif reste sur **`test`** ; `deploy-by-script-to.sh` ne fait **pas** de `checkout` **pprod**/**prod** ni `reset --hard` sur ces branches ; le playbook **`deploy/scripts_v2`** aligne les remotes / **worktree** et enchaîne **les trois lignes** (**`orchestrator.sh`** ou **`deploy-lecoffre-all-sites.sh`**) — voir **`deploy/README.md`** du dépôt applicatif. - - **Sinon :** le script fait en général : passage dans le dépôt du projet, `checkout` sur la branche paramètre, vérification que la base secrets attendue par le projet existe (**kogus** / monorepo LeCoffre : imbriquée **`.secrets///`**, voir **`repository_root/docs/features/multi-site-architecture.md`** — le seul plat **`.secrets//`** n’est pas le contrat nominal multisite), `reset --hard` sur **`origin/`**, déploiement (**orchestrateur** ou **`deploy-lecoffre-all-sites.sh`** / repli **`deploy.sh`**), puis **`checkout test`**. + - **`deploy.host_stays_on_test: true`** dans `projects//conf.json` (LeCoffre : **true** dans `projects/kogus/conf.json`) : le clone applicatif reste sur **`test`** ; `deploy-by-script-to.sh` ne fait **pas** de `checkout` **pprod**/**prod** ni `reset --hard` sur ces branches ; le playbook **`deploy/scripts_v2`** aligne les remotes / **worktree** et enchaîne **les trois lignes** (**`orchestrator.sh`** ou **`deploy-multisite-lines.sh`**) — voir **`deploy/README.md`** du dépôt applicatif. + - **Sinon :** le script fait en général : passage dans le dépôt du projet, `checkout` sur la branche paramètre, vérification que la base secrets attendue par le projet existe (**kogus** / monorepo LeCoffre : imbriquée **`.secrets///`**, voir **`repository_root/docs/features/multi-site-architecture.md`** — le seul plat **`.secrets//`** n’est pas le contrat nominal multisite), `reset --hard` sur **`origin/`**, déploiement (**orchestrateur** ou **`deploy-multisite-lines.sh`** / repli **`deploy.sh`**), puis **`checkout test`**. - **Si KO :** Analyser la sortie et les logs, identifier la cause. **Ne pas** se limiter à corriger sur la branche **pprod**/**prod** : retour **test**, corrections, push **hors** cet agent si besoin, puis **rejouer depuis l’étape 2** (**`change-to-all-branches.sh --align-only`**) **sans** relancer l’**étape 3** (**`deploy-by-script-to`**) dans le même run — section **Corrections découvertes sur pprod ou prod** et **§ Politique — une seule tentative de déploiement**. Un nouvel essai de **`deploy-by-script-to`** = **nouvelle** invocation **`/deploy-pprod-or-prod`**. - **Si OK :** Passer à l'étape 4. diff --git a/.smartIde/agents/deploy-test-site.md b/.smartIde/agents/deploy-test-site.md index c5d0b43..1ee1bf6 100644 --- a/.smartIde/agents/deploy-test-site.md +++ b/.smartIde/agents/deploy-test-site.md @@ -17,4 +17,4 @@ is_background: false ## Référence multisite trois lignes (test) -**`IADEV_REPO/.smartIde/agents/deploy-by-script.md`** § multisite et **`LECOFFRE_REPO/.cursor/agents/deploy-test-by-script.md`** (`deploy-lecoffre-all-sites.sh test`). +**`IADEV_REPO/.smartIde/agents/deploy-by-script.md`** § multisite et **`LECOFFRE_REPO/.cursor/agents/deploy-test-by-script.md`** (`deploy-multisite-lines.sh test`). diff --git a/deploy/change-to-all-branches.sh b/deploy/change-to-all-branches.sh index 6790ed6..55b8cf2 100755 --- a/deploy/change-to-all-branches.sh +++ b/deploy/change-to-all-branches.sh @@ -71,7 +71,7 @@ fi # scripts_v2 lives in the host project's deploy/ (not necessarily under ia_dev) DEPLOY_SCRIPTS_V2="${PROJECT_ROOT}/deploy/scripts_v2" -ALL_SITES="${DEPLOY_SCRIPTS_V2}/deploy-lecoffre-all-sites.sh" +ALL_SITES="${DEPLOY_SCRIPTS_V2}/deploy-multisite-lines.sh" echo "[change-to-all-branches] Deploying test (--no-sync-origin; business flags from deploy.conf only)..." if [[ -n "${IA_PROJECT_ID:-}" && -x "${DEPLOY_DIR}/orchestrator.sh" ]]; then "${DEPLOY_DIR}/orchestrator.sh" test --no-sync-origin diff --git a/deploy/deploy-by-script-to.sh b/deploy/deploy-by-script-to.sh index 4d552e7..27b8180 100755 --- a/deploy/deploy-by-script-to.sh +++ b/deploy/deploy-by-script-to.sh @@ -134,7 +134,7 @@ else _cfg_script="$(ia_dev_resolve_path_from_conf "$PROJECT_CONFIG_PATH" "$_cfg_script")" [[ -n "$_cfg_script" && -x "$_cfg_script" ]] && deploy_script="$_cfg_script" fi - all_sites_script="$PROJECT_ROOT/deploy/scripts_v2/deploy-lecoffre-all-sites.sh" + all_sites_script="$PROJECT_ROOT/deploy/scripts_v2/deploy-multisite-lines.sh" if [[ "${IA_PROJECT_ID:-}" == "kogus" && -f "$all_sites_script" && "$deploy_script" == *"/deploy.sh" ]]; then bash "$all_sites_script" "$TARGET_BRANCH" else diff --git a/projects/kogus/conf.json b/projects/kogus/conf.json index 924abf0..6230587 100644 --- a/projects/kogus/conf.json +++ b/projects/kogus/conf.json @@ -12,7 +12,7 @@ "repository_root": "/home/desk/code/lecoffre_ng_test", "scripts_path": "/home/desk/code/lecoffre_ng_test/deploy/scripts_v2", "deploy_script_path": "/home/desk/code/lecoffre_ng_test/deploy/scripts_v2/deploy.sh", - "project_orchestrator_path": "deploy/scripts_v2/deploy-lecoffre-all-sites.sh", + "project_orchestrator_path": "deploy/scripts_v2/deploy-multisite-lines.sh", "secrets_path": "/home/desk/code/lecoffre_ng_test/.secrets", "host_stays_on_test": true }, diff --git a/projects/kogus/docs/agents-scripts-split.md b/projects/kogus/docs/agents-scripts-split.md index 216ce20..3a72b5f 100644 --- a/projects/kogus/docs/agents-scripts-split.md +++ b/projects/kogus/docs/agents-scripts-split.md @@ -96,7 +96,7 @@ - Construire le message de commit (toutes les sections obligatoires) - Mettre à jour CHANGELOG.md - Mettre à jour VERSION (incrément sous-sous-version) -- Exécuter `./deploy/pousse.sh` avec le message sur STDIN (builds explicites avant, ou **`--build`** sur la même ligne) +- Exécuter `./deploy/pousse.sh` avec le message sur STDIN **sans** **`--build`** lorsque l’invocation est la commande Cursor **`/push-by-script`** (compilation interdite dans cet agent). Builds ou **`--build`** : hors ce flux ou demande utilisateur explicite dans le même message. **Script pousse.sh aujourd’hui :** @@ -122,7 +122,7 @@ | `deploy/branch-align.sh` | Ré-exécution depuis la racine git si nécessaire | | `deploy/scripts_v2/deploy.sh` | Par défaut sync `--sync-origin` ; tee vers `logs/deploy_*_kogus_*.log` quand **`SITE_CODE`** est défini (**`deploy-site.sh`**), sinon `logs/deploy__*.log` ; `--no-sync-origin` pour désactiver le sync local ; métier uniquement `deploy.conf` | | `deploy/pousse.sh` | **Ré-exéc depuis racine** si besoin ; options **`--bump-version`**, **`--build`** ; sans **`--build`** : pas de compilation dans le script | -| `deploy/change-to-all-branches.sh` | Vérif branche test, `branch-align.sh test`, puis sauf **`--align-only`** : orchestrateur ou `deploy-lecoffre-all-sites.sh` / `deploy.sh` test `--no-sync-origin` ; logs `./logs/` ; **`--align-only`** = alignement seul (usage **`/deploy-pprod-or-prod`** étape 2) | +| `deploy/change-to-all-branches.sh` | Vérif branche test, `branch-align.sh test`, puis sauf **`--align-only`** : orchestrateur ou `deploy-multisite-lines.sh` / `deploy.sh` test `--no-sync-origin` ; logs `./logs/` ; **`--align-only`** = alignement seul (usage **`/deploy-pprod-or-prod`** étape 2) | | Agents .smartIde/agents/*.md | Adapter les consignes pour utiliser les nouvelles options/scripts et alléger les étapes redondantes | --- @@ -139,7 +139,7 @@ ### push-by-script / pousse.sh - **Dans le script :** avec **`--build`** uniquement : build check (`npm run build` / `build:all-sites` selon `build_dirs`) avant staging ; en cas d'échec, sortie en erreur sans commit ni push. Sans **`--build`** : staging/commit/push seulement. -- **Dans l'agent :** construire le message, mettre à jour CHANGELOG, exécuter les builds explicites (étape 4 bis) ou **`pousse.sh --build`**, lancer **`pousse.sh`**, contrôler sortie et code de retour. +- **Dans l'agent :** construire le message, mettre à jour CHANGELOG, lancer **`pousse.sh` sans `--build`** pour **`/push-by-script`** ; sinon (hors slash-commande ou demande explicite) builds explicites (étape 4 bis) ou **`pousse.sh --build`** ; contrôler sortie et code de retour. ### Tous les agents @@ -162,7 +162,7 @@ ### change-to-all-branches.sh -- Par défaut (sans **`--align-only`**) : après `branch-align.sh test`, appelle `deploy-lecoffre-all-sites.sh test --no-sync-origin` / orchestrateur ou `deploy.sh test --no-sync-origin` (métier dans `deploy.conf`). +- Par défaut (sans **`--align-only`**) : après `branch-align.sh test`, appelle `deploy-multisite-lines.sh test --no-sync-origin` / orchestrateur ou `deploy.sh test --no-sync-origin` (métier dans `deploy.conf`). - Avec **`--align-only`** : s’arrête après `branch-align.sh test` (pas de déploiement test ; réservé au flux **`/deploy-pprod-or-prod`** ia_dev). ### Agents