- Delete extensions/anythingllm-workspaces; document migration to anythingllm-devtools - Add services/carbonyl: shallow submodule fathyb/carbonyl, run-carbonyl.sh (Docker/native) - Add scripts/open-carbonyl-preview-test.sh and smart_ide.preview_urls.test in example conf - Docs: service-carbonyl, carbonyl-terminal-browser, architecture index updates
5.7 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/→ un seul fichier de configuration par id :projects/<id>/conf.json(y compris le gabaritprojects/example/conf.json). Pas de fichier.code-workspaceversionné à côté : l’équivalent multi-root IDE estsmart_ide.workspacedans ce mêmeconf.json.ia_devrésout via 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).- Multi-root IDE :
smart_ide.workspacedansconf.json(dossiers +smartIde.activeProjectId). - 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, workspace (équivalent .code-workspace : folders + settings.smartIde.activeProjectId), preview_urls (ex. test : URL du déploiement test pour Carbonyl). 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. - Pour ouvrir un workspace multi-dossiers dans VS Code / Cursor : lire
smart_ide.workspacedansprojects/<id>/conf.json(même schéma qu’un fichier.code-workspace) — copier ce bloc dans un fichier local.code-workspacesi l’éditeur l’exige, ou configurer les dossiers à la main.
Nouveau projet : partir de projects/example/conf.json → projects/<nouvel_id>/conf.json.
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.