- Add services/anythingllm-devtools HTTP API (repos + AnythingLLM + RAG) - Rename gitea-issues to git-issues across smart_ide agents and docs - Add projects/builazoo, builazoo README, cron fragment, ssh-config.example - Add ensure-ia-dev-project-link.sh; wrapper delegates smart_ide id - Bump ia_dev submodule (git-issues rename, project symlinks) - Align 4nkaiignore templates; update API index and project docs
4.9 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.
Les sous-répertoires projects/<id>/ non listés dans le .gitignore à la racine (exceptions pour les ids versionnés) restent ignorés par Git : pour versionner un nouvel id, ajouter les lignes !projects/<id>/ et !projects/<id>/** à côté des exceptions existantes.
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/→ uniquementconf.json(+ métadonnées légères) pour queia_devrésolveprojects/<id>/conf.jsonvia le lien symbolique décrit dans ia_dev-module.md.../projects/(ou autre racine configurée) → arborescences Git complètes, builds, etc. ; dans chaqueconf.json,project_pathet les cheminsdeploy.*utiles sont relatifs à la racine du monorepo smart_ide (ex.../enso,.) ou absolus ; le scriptcron/git-pull-project-clones.shet ia_dev les résolvent depuis cette racine (ia_dev/lib/conf_path_resolve.sh).
smart_ide
- Fichier :
projects/smart_ide/conf.json - Après clone ou réorganisation des dossiers :
./scripts/ensure-ia-dev-project-link.sh smart_ide(ou le wrapperscripts/ensure-ia-dev-smart-ide-project-link.sh) pour recréer le lienia_dev/projects/smart_ide→../../projects/smart_ide.
enso
- Fichier :
projects/enso/conf.json— clone enso frère du monorepo (project_pathtypique../enso), déploiementdeploy/scripts_v2, forge 4nk/enso (wiki / issues), mails ticketingAI.ENSO.*@4nkweb.com. - Chemins absolus sur les serveurs sous
smart_ide.remote_data_access: alignés surENSO_REMOTE_ROOT,ENSO_SSH_HOSTetdata/dossiers-permanents(dépôt enso,enso-deploy.env). Valeurs réelles : fichiersenso-deploy.envnon versionnés. - Cron fragment :
cron/fragments/enso.cron - Pour
ia_dev: lien symboliqueia_dev/projects/enso→../../projects/enso(recréer avec./scripts/ensure-ia-dev-project-link.sh enso).
builazoo
- Fichier :
projects/builazoo/conf.json— dépôt sous la racine monorepo (project_path:builazoo, soitsmart_ide/builazoo/), forge 4nk/builazoo (wiki / issues à ajuster si le dépôt diffère), mails ticketingAI.BUILAZOO.*@4nkweb.com. smart_ide.remote_data_access: alias SSHbuilazoo-test/builazoo-pprod/builazoo-prod(à déclarer dans~/.ssh/configcomme pour les autres ids).- Workspace :
projects/builazoo/smart_ide.code-workspace - Cron fragment :
cron/fragments/builazoo.cron - Pour
ia_dev:./scripts/ensure-ia-dev-project-link.sh builazoo - Le répertoire
builazoo/à la racine du monorepo est partiellement ignoré par Git (saufbuilazoo/README.md) : y placer le clone ou les sources.
Synchronisation Git planifiée
Pour chaque projects/<id>/conf.json, le tirage automatique utilise cron/config.env (PULL_SYNC_*) et cron/git-pull-wrapper.sh → cron/git-pull-project-clones.sh.
- Timer systemd utilisateur (recommandé) :
scripts/install-git-pull-systemd-user.sh— voir cron-git-pull.md - Désactiver pour un id :
"cron": { "git_pull": false }dans leconf.json - Désactiver tout :
PULL_SYNC_ENABLED=0dansconfig.envouconfig.local.env
project_path est résolu en chemin absolu à partir de la racine smart_ide lorsqu’il est relatif.
Données déployées, SSH, AnythingLLM et IDE
Spécification : features/remote-deployed-data-ssh.md.
Bloc optionnel smart_ide dans conf.json
Clé smart_ide avec notamment remote_data_access, anythingllm_workspace_slug. Exemple : projects/enso/conf.json.
Projet actif pour l’éditeur / Cursor
- Copier
projects/active-project.json.exampleversprojects/active-project.json(non versionné) ; renseignerid, optionnellementdefault_env,notes(informative). - Dans un
.code-workspace:smartIde.activeProjectIddanssettings(ex.projects/enso/smart_ide.code-workspace).
Convention agents : .smartIde/rules/smart-ide-ia-dev-bridge.mdc.
Référence amont (schéma conf)
Schéma détaillé des champs conf.json : ia-dev-project-conf-schema.md (aligné sur ia_dev/projects/README.md amont). Extensions cron et smart_ide : spécifiques smart_ide ; ia_dev peut ignorer les champs non lus.