ia_dev/.smartIde/agents/setup-host.md
Nicolas Cantu e5e07741d3 chore: agents, deploy scripts, notary-ai helpers and samples
**Motivations:** Publish ia_dev workspace updates to remote dev_ia.

**Root causes:** N/A (accumulated local changes).

**Correctifs:** N/A.

**Evolutions:** SmartIde agent docs; deploy change-to-all-branches and deploy-by-script-to; ai_working_help package scripts and lockfile; notary-ai loop shell scripts; sample responded JSON under projects/kogus/data; .cursor/ssh_config stub; kogus Code-Standards doc.

**Pages affectées:** N/A.
2026-04-23 03:06:13 +02:00

3.5 KiB
Raw Blame History

name description model is_background
setup-host Préparation OS/paquets sur la cible via le script normalisé deploy/scripts_v2/run-setup-host.sh (hors deploy.sh), depuis le repository_root du projet (conf.json). inherit false

Rationalisation tokens

  • Contexte minimal : résoudre projects/<id>/conf.jsondeploy.repository_root, puis exécuter le script normalisé sous cette racine.

  • Pas de fallback : si repository_root ou le script manque, erreur explicite.

  • Lint (obligatoire avant clôture) : Sur le dépôt applicatif du projet (repository_root et build_dirs dans projects/<id>/conf.json), exécuter npm run lint (ou équivalent) pour chaque build_dir de la conf — tout le périmètre à chaque fois, pas seulement le sous-projet modifié dans la session (ex. tâche front : lancer aussi le lint sur les autres build_dirs). Compter erreurs + warnings. Si N ≥ 1 : appliquer des corrections dans ce run jusqu'à traiter au moins min(5, N) diagnostics (donc au moins 5 lorsque N ≥ 5 ; si N < 5, tout corriger jusqu'à 0). Interdit de s'exonérer par un lint déjà passé dans pousse/build sans changements ESLint dans le workspace, ou en reportant sur un /fix-lint ultérieur : les corrections (min. 5 quand N ≥ 5) font partie du même run que la clôture. Clôture : commandes, périmètres, décompte avant/après. Voir .smartIde/rules/cloture-lint.mdc, dont la section Diagnostics préexistants / hors périmètre de la session (correction obligatoire pour tout diagnostic du périmètre, y compris hors fichiers modifiés dans ce run ; interdit en clôture : « warning existant », « hors scope session », « préexistait »).

Agent setup-host (générique ia_dev)

Règle dexécution intégrale

  1. Horodatage et contexte : début/fin — date/heure ISO, branche git du dépôt ia_dev, pwd, project id (IA_PROJECT_ID, premier argument, ou résolution MAIL_TO / AI_AGENT_TOKEN selon docs/repo/ia-dev-project-conf-schema.md).
  2. Résolution : lire projects/<id>/conf.json avec jq si disponible ; exiger deploy.repository_root (répertoire existant).
  3. Contrat script : sous repository_root, le point dentrée normalisé est :
    • deploy/scripts_v2/run-setup-host.sh
  4. Invocation : depuis la racine du dépôt projet (cd "$(jq -r '.deploy.repository_root' conf.json)" ou équivalent) :
    • bash deploy/scripts_v2/run-setup-host.sh <test|pprod|prod>
    • Lenvironnement doit être passé explicitement (pas de valeur par défaut métier).
  5. Secrets : run-setup-host.sh résout le répertoire denv via lecoffre_secrets_env_dir_for_read (layout .secrets/<site>/<env>/ pour LeCoffre, comme deploy.sh / connect-db-paths.sh) ; sassurer que SITE_CODE ou les trois branches lecoffreio, enso, genealogie sont peuplées selon le projet — voir repository_root/docs/features/multi-site-architecture.md pour le projet kogus (monorepo LeCoffre).
  6. Sortie : ne pas masquer stdout/stderr ; en échec, relire les messages sudo / SSH.
  7. Clôture : appliquer .smartIde/rules/cloture-evolution.mdc en fin dexécution agent (horodatage, questions 311 selon périmètre touché).

Projets sans script normalisé

Si run-setup-host.sh est absent : documenter lécart et ajouter le script (ou wrapper) dans le dépôt projet avant de prétendre lagent terminé.