- Default PULL_SYNC_LOG to logs/git-pull-projects.log; add logs/README and gitignore - Add services/ia_dev integration README and .env.example - Replace docs/ia_dev-submodule.md with ia_dev-module.md; update ecosystem and README links - Point ia_dev submodule to commit with smart_ide_logs.sh
3.0 KiB
Configurations projet (projects/<id>/)
Ce répertoire, à la racine du monorepo smart_ide, ne contient que les fichiers de configuration attendus par ia_dev (conf.json par identifiant de projet). Ce n’est pas le répertoire des clones Git des applications.
Clones applicatifs (docv, stacks métier, etc.)
Les dépôts sources des produits (ex. backend docv sous un chemin du type …/enso/docv, autres apps) doivent vivre ailleurs, selon la convention du poste — typiquement un répertoire frère du monorepo, par ex. ../projects/<nom>/ (relatif à la racine smart_ide), distinct de ./projects/ ici.
./projects/(ce dossier) → uniquementconf.json(+ métadonnées légères) pour queia_devrésolveprojects/<id>/conf.jsonvia le lien symbolique décrit dans docs/ia_dev-module.md.../projects/(ou autre racine configurée) → arborescences Git complètes, builds, etc. ;project_pathdans chaqueconf.jsonpointe vers ces chemins absolus.
smart_ide
- Fichier :
smart_ide/conf.json - Après clone ou réorganisation des dossiers, exécuter si besoin
scripts/ensure-ia-dev-smart-ide-project-link.shpour recréer le lienia_dev/projects/smart_ide→../../projects/smart_ide.
enso
- Fichier :
enso/conf.json— monorepo enso (project_pathtypique/home/ncantu/code/enso), déploiementdeploy/scripts_v2, forge 4nk/enso (wiki / issues), mails ticketingAI.ENSO.*@4nkweb.com. - Cron fragment :
cron/fragments/enso.cron. - Pour que
ia_devrésolveprojects/enso/conf.json, créer sousia_dev/projects/un lien symboliqueenso→../../projects/enso(même principe quesmart_ide).
Synchronisation Git planifiée (cron/)
Pour chaque projects/<id>/conf.json, le tirage automatique utilise la config centralisée cron/config.env (PULL_SYNC_*) et le wrapper cron/git-pull-wrapper.sh, qui appelle cron/git-pull-project-clones.sh (git fetch / merge --ff-only si possible).
- Activer le timer systemd utilisateur (recommandé) :
scripts/install-git-pull-systemd-user.sh - Désactiver pour un id projet :
"cron": { "git_pull": false }dans leconf.jsonconcerné. - Désactiver tout le mécanisme :
PULL_SYNC_ENABLED=0dansconfig.envoucron/config.local.env.
Détail : cron/README.md. Les clones restent sous le chemin absolu project_path.
Référence amont
Schéma des champs : ia_dev/projects/README.md dans le sous-module (documentation ia_dev). Le bloc optionnel cron est une extension smart_ide pour les scripts locaux ; ia_dev peut l’ignorer s’il ne le lit pas.