Cursor ia-dev bridge, versioned project confs, docv and ecosystem docs

- Add .cursor agents ia-dev-* and smart-ide-ia-dev-bridge rule
- Track ia_dev project conf under projects/smart_ide; link script for ia_dev/projects
- Document docv AI integration and ecosystem architecture/sync strategy
- Update README, platform-target, system-architecture, submodule doc
This commit is contained in:
Nicolas Cantu 2026-04-03 16:30:42 +02:00
parent 088eab84b7
commit 7f1cee487c
32 changed files with 698 additions and 13 deletions

View File

@ -0,0 +1,23 @@
---
name: ia-dev-agent-loop
description: Boucle agent / ticketing smart_ide via ia_dev (agent-loop). Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/agent-loop.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-branch-align-by-script-from-test
description: Alignement branches smart_ide via ia_dev. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/branch-align-by-script-from-test.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-change-to-all-branches
description: Propager changements sur branches smart_ide via ia_dev. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/change-to-all-branches.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-closure-point-7-justification
description: Clôture point 7 smart_ide via ia_dev. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/closure-point-7-justification.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-code
description: Qualité code smart_ide via procédure ia_dev (code). Indiquer l'environnement test / pprod / prod.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/code.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-deploy-by-script
description: Déploiement par script smart_ide via ia_dev (deploy-by-script). Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/deploy-by-script.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-deploy-pprod-or-prod
description: Déploiement pprod/prod smart_ide via ia_dev. Indiquer l'environnement cible.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/deploy-pprod-or-prod.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-docupdate
description: Mise à jour documentation smart_ide via ia_dev (docupdate). Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/docupdate.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-evol
description: Évolutions smart_ide via procédure ia_dev (evol). Indiquer l'environnement test / pprod / prod.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/evol.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-fix-lint
description: Lint smart_ide via procédure ia_dev (fix-lint). Indiquer l'environnement test / pprod / prod.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/fix-lint.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-fix-search
description: Recherche avant correctif smart_ide via ia_dev (fix-search). Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/fix-search.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-fix
description: Correctifs smart_ide via procédure ia_dev (fix). Indiquer l'environnement test / pprod / prod.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/fix.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-gitea-issues-process
description: Traitement issues Gitea smart_ide via ia_dev. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/gitea-issues-process.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-notary-ai-loop
description: Boucle notary-ai smart_ide via ia_dev. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/notary-ai-loop.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-notary-ai-process
description: Traitement notary-ai smart_ide via ia_dev. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/notary-ai-process.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,23 @@
---
name: ia-dev-push-by-script
description: Commit et push smart_ide via ia_dev (push-by-script). Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/push-by-script.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,25 @@
---
name: ia-dev-setup-host
description: Préparation hôte / socle (Ollama, AnythingLLM, etc.) documentée smart_ide ; scripts ia_dev depuis ia_dev/. Indiquer l'environnement.
model: inherit
is_background: false
---
## Contexte obligatoire (dépôt smart_ide → ia_dev)
- **Identifiant projet ia_dev :** `smart_ide` (conf : `projects/smart_ide/` à la racine ; lien sous `ia_dev/projects/smart_ide`).
- **Environnement cible :** `test`, `pprod` ou `prod`. Le reprendre dans le message utilisateur ; **si absent, le demander** avant d'exécuter des scripts dépendants du env.
- **Racine des scripts ia_dev :** le dossier `ia_dev/` à la racine du workspace **smart_ide**. Pour `deploy/`, `gitea-issues/`, etc. : se placer dans ce répertoire avant d'exécuter.
- **Variables / arguments :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; référence : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** exporter `MAIL_TO` avec l'adresse pour l'environnement choisi, lue dans `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` : test → `AI.SMART_IDE.TEST@4nkweb.com`, pprod → `AI.SMART_IDE.PPROD@4nkweb.com`, prod → `AI.SMART_IDE.PROD@4nkweb.com`.
- **Dépôt applicatif :** racine du workspace smart_ide ; `project_path` dans `conf.json` doit y pointer. Doc principale du monorepo : `docs/` à la racine (`projects/smart_ide/docs` sous ia_dev souvent absent).
- **Chemins machines** dans les agents ia_dev (autre machine utilisateur) : les remplacer par le clone réel (workspace + `ia_dev/` et chemins issus de `conf.json`).
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
- **Périmètre hôte :** scripts et doc smart_ide pour le socle (Ollama, AnythingLLM, systemd, `setup/`, `scripts/`) ; les commandes définies dans l'agent ia_dev s'exécutent depuis `ia_dev/` lorsque la procédure l'exige.
## Délégation
Lire le fichier **`ia_dev/.cursor/agents/setup-host.md`** et appliquer **intégralement** sa procédure et ses contraintes, en respectant le contexte ci-dessus.
**Référence résolution projet / env :** `ia_dev/projects/README.md`.

View File

@ -0,0 +1,20 @@
---
description: Pont smart_ide → ia_dev — projet smart_ide, environnement, cwd scripts
globs: ia_dev/**,docs/**,services/**,scripts/**,setup/**,systemd/**,projects/**,README.md
alwaysApply: false
---
# smart_ide ↔ ia_dev (projet et environnement)
Quand le périmètre touche ce dépôt et le sous-module **`ia_dev/`** :
- **Identifiant projet ia_dev :** `smart_ide` ; conf versionnée : **`projects/smart_ide/conf.json`** à la racine du workspace ; `ia_dev/projects/smart_ide` doit être un **lien** vers ce dossier (script `scripts/ensure-ia-dev-smart-ide-project-link.sh`).
- **Environnement :** `test` | `pprod` | `prod`. Le reprendre depuis le message utilisateur ; **demander** sil manque avant des actions dépendantes du env.
- **Exécution des scripts ia_dev :** répertoire courant = racine du clone **`ia_dev/`** (sous le workspace smart_ide). Pas de mélange avec la racine smart_ide pour `deploy/`, `gitea-issues/`, etc.
- **Sélection projet pour les scripts :** `IA_PROJECT_ID=smart_ide` et/ou `--project smart_ide` selon le script ; détail : `ia_dev/projects/README.md`.
- **MAIL_TO (ticketing / mails) :** lire `projects/smart_ide/conf.json` (racine workspace) → `tickets.authorized_emails.to` pour lenv choisi (ex. test → `AI.SMART_IDE.TEST@4nkweb.com`).
- **Code et doc applicative :** racine du workspace smart_ide ; doc indexée sous `docs/` à la racine. `ia_dev/projects/smart_ide/docs` peut être absent.
- **Chemins absolus** dans la doc ou agents ia_dev rédigés pour un autre poste : les remplacer par les chemins du workspace actuel et par `project_path` dans `conf.json`.
- **`projects/*/conf.json` :** ne pas modifier sans validation utilisateur (règle ia_dev).
Les agents nommés **`ia-dev-*`** dans `.cursor/agents/` renvoient explicitement vers `ia_dev/.cursor/agents/*.md` avec ce contexte.

4
.gitignore vendored
View File

@ -1,4 +1,4 @@
# Vendored / cloned upstream trees (large; not part of smart_ide source history) # Vendored / cloned upstream trees (large; not part of smart_ide source history)
core_ide/ core_ide/
projects/ # Clones applicatifs : hors de ce dépôt (ex. répertoire frère ../projects/). Les confs ia_dev sont dans ./projects/<id>/ (versionnées).
node_modules/ *node_modules/

View File

@ -27,23 +27,25 @@ Voir [docs/anythingllm-workspaces.md](./docs/anythingllm-workspaces.md).
## Dépôt `ia_dev` (sous-module Git) ## Dépôt `ia_dev` (sous-module Git)
Le dépôt [**ia_dev**](https://git.4nkweb.com/4nk/ia_dev.git) est intégré comme **sous-module** dans le répertoire [`./ia_dev`](./ia_dev) : équipe dagents, configs `projects/<id>/`, scripts `deploy/`, ticketing Gitea, etc. Cloner avec `git clone --recurse-submodules` ou initialiser avec `git submodule update --init --recursive`. Détail : [docs/ia_dev-submodule.md](./docs/ia_dev-submodule.md). Le dépôt [**ia_dev**](https://git.4nkweb.com/4nk/ia_dev.git) est intégré comme **sous-module** dans le répertoire [`./ia_dev`](./ia_dev) : équipe dagents, scripts `deploy/`, ticketing Gitea, etc. Les **fichiers `conf.json`** pour ce monorepo sont sous [`./projects/<id>/`](./projects/README.md) (pas les clones Git ; ceux-ci ailleurs, ex. `../projects/`). Cloner avec `git clone --recurse-submodules` ou initialiser avec `git submodule update --init --recursive`. Détail : [docs/ia_dev-submodule.md](./docs/ia_dev-submodule.md). Les agents Cursor **pont** (`ia-dev-*`) sont décrits dans [docs/ia_dev-project-smart_ide.md](./docs/ia_dev-project-smart_ide.md).
## Documentation ## Documentation
| Document | Contenu | | Document | Contenu |
|----------|---------| |----------|---------|
| [docs/README.md](./docs/README.md) | Index de la documentation technique (`docs/`, `docs/features/`, `docs/API/`) | | [docs/README.md](./docs/README.md) | Index de la documentation technique (`docs/`, `docs/features/`, `docs/API/`) |
| [docs/platform-target.md](./docs/platform-target.md) | Plateforme en ligne : envs test/pprod/prod, IA same-host, SSO docv | | [docs/platform-target.md](./docs/platform-target.md) | Plateforme en ligne : envs test/pprod/prod, IA same-host, SSO docv, API IA docv |
| [docs/API/README.md](./docs/API/README.md) | Référence HTTP des services sous `services/` (endpoints, auth, ports) | | [docs/API/README.md](./docs/API/README.md) | Référence HTTP des services sous `services/` (endpoints, auth, ports) |
| [docs/infrastructure.md](./docs/infrastructure.md) | LAN, SSH, scripts daccès hôte | | [docs/infrastructure.md](./docs/infrastructure.md) | LAN, SSH, scripts daccès hôte |
| [docs/services.md](./docs/services.md) | Ollama, AnythingLLM Docker, intégration | | [docs/services.md](./docs/services.md) | Ollama, AnythingLLM Docker, intégration |
| [docs/anythingllm-workspaces.md](./docs/anythingllm-workspaces.md) | Workspaces par projet, synchronisation | | [docs/anythingllm-workspaces.md](./docs/anythingllm-workspaces.md) | Workspaces par projet, synchronisation |
| [docs/ux-navigation-model.md](./docs/ux-navigation-model.md) | Remplacer lexplorer : intentions, risques, vues, graphe, mode expert | | [docs/ux-navigation-model.md](./docs/ux-navigation-model.md) | Remplacer lexplorer : intentions, risques, vues, graphe, mode expert |
| [docs/system-architecture.md](./docs/system-architecture.md) | Couches, modules, agents, gateway, OpenShell, événements | | [docs/system-architecture.md](./docs/system-architecture.md) | Couches, modules, agents, gateway, OpenShell, événements |
| [docs/ecosystem-architecture-and-sync.md](./docs/ecosystem-architecture-and-sync.md) | smart_ide, clones projet, API IA, Git / Ollama / AnythingLLM ; automation synchro |
| [docs/deployment-target.md](./docs/deployment-target.md) | Client Linux + SSH : serveur = socle IA + repos | | [docs/deployment-target.md](./docs/deployment-target.md) | Client Linux + SSH : serveur = socle IA + repos |
| [projects/README.md](./projects/README.md) | Confs `ia_dev` (`conf.json` seuls) — distinct des clones sous `../projects/` |
| [docs/ia_dev-submodule.md](./docs/ia_dev-submodule.md) | Sous-module Git `ia_dev`, clone / mise à jour | | [docs/ia_dev-submodule.md](./docs/ia_dev-submodule.md) | Sous-module Git `ia_dev`, clone / mise à jour |
| [docs/ia_dev-project-smart_ide.md](./docs/ia_dev-project-smart_ide.md) | Projet `ia_dev` `smart_ide` : `conf.json`, wiki/issues forge 4nk | | [docs/ia_dev-project-smart_ide.md](./docs/ia_dev-project-smart_ide.md) | Projet `ia_dev` `smart_ide` : `conf.json`, wiki/issues forge 4nk, agents Cursor `ia-dev-*` |
| [docs/features/langextract-api.md](./docs/features/langextract-api.md) | API locale LangExtract (extraction structurée) | | [docs/features/langextract-api.md](./docs/features/langextract-api.md) | API locale LangExtract (extraction structurée) |
| [docs/features/claw-harness-api.md](./docs/features/claw-harness-api.md) | Intégration claw-code (multi-modèles, sans Anthropic dans les gabarits) | | [docs/features/claw-harness-api.md](./docs/features/claw-harness-api.md) | Intégration claw-code (multi-modèles, sans Anthropic dans les gabarits) |
| [docs/features/agent-regex-search-api.md](./docs/features/agent-regex-search-api.md) | API recherche regex code (ripgrep), contexte article Cursor | | [docs/features/agent-regex-search-api.md](./docs/features/agent-regex-search-api.md) | API recherche regex code (ripgrep), contexte article Cursor |

View File

@ -9,6 +9,7 @@ Index des documents à la racine de `docs/`. Les **fonctionnalités** détaillé
| [platform-target.md](./platform-target.md) | Vision plateforme en ligne, 3 envs, machine IA unique vs SSH, SSO, navigateur optionnel | | [platform-target.md](./platform-target.md) | Vision plateforme en ligne, 3 envs, machine IA unique vs SSH, SSO, navigateur optionnel |
| [implementation-rollout.md](./implementation-rollout.md) | Déroulé du plan plateforme : doc + code minimal, suites | | [implementation-rollout.md](./implementation-rollout.md) | Déroulé du plan plateforme : doc + code minimal, suites |
| [system-architecture.md](./system-architecture.md) | Couches, monorepo, cartographie des dossiers, gateway, OpenShell, micro-services | | [system-architecture.md](./system-architecture.md) | Couches, monorepo, cartographie des dossiers, gateway, OpenShell, micro-services |
| [ecosystem-architecture-and-sync.md](./ecosystem-architecture-and-sync.md) | smart_ide, projets développés, API IA, Ollama / AnythingLLM / Git ; automation et synchro |
| [core-ide.md](./core-ide.md) | Socle applicatif Lapce : `core_ide/`, clone amont, build | | [core-ide.md](./core-ide.md) | Socle applicatif Lapce : `core_ide/`, clone amont, build |
| [deployment-target.md](./deployment-target.md) | Client Linux + SSH, variante machine IA unique, serveur socle IA et repos | | [deployment-target.md](./deployment-target.md) | Client Linux + SSH, variante machine IA unique, serveur socle IA et repos |
| [infrastructure.md](./infrastructure.md) | SSH, accès hôte, renvois vers les scripts | | [infrastructure.md](./infrastructure.md) | SSH, accès hôte, renvois vers les scripts |
@ -38,7 +39,7 @@ Index des documents à la racine de `docs/`. Les **fonctionnalités** détaillé
| Document | Contenu | | Document | Contenu |
|----------|---------| |----------|---------|
| [ia_dev-submodule.md](./ia_dev-submodule.md) | Sous-module `ia_dev` (forge 4NK), agents et `projects/<id>/` | | [ia_dev-submodule.md](./ia_dev-submodule.md) | Sous-module `ia_dev` (forge 4NK), agents ; confs versionnées dans [`../projects/`](../projects/) |
## Fonctionnalités (`features/`) ## Fonctionnalités (`features/`)
@ -54,6 +55,7 @@ Index des documents à la racine de `docs/`. Les **fonctionnalités** détaillé
| [features/orchestrator-api.md](./features/orchestrator-api.md) | Contrat HTTP orchestrateur (Ollama, ALLM, services) | | [features/orchestrator-api.md](./features/orchestrator-api.md) | Contrat HTTP orchestrateur (Ollama, ALLM, services) |
| [features/lapce-porting-roadmap.md](./features/lapce-porting-roadmap.md) | Phases portage extension AnythingLLM → Lapce | | [features/lapce-porting-roadmap.md](./features/lapce-porting-roadmap.md) | Phases portage extension AnythingLLM → Lapce |
| [features/sso-docv-enso.md](./features/sso-docv-enso.md) | OIDC front ↔ docv (Enso) | | [features/sso-docv-enso.md](./features/sso-docv-enso.md) | OIDC front ↔ docv (Enso) |
| [features/docv-ai-integration.md](./features/docv-ai-integration.md) | Backend docv : API IA smart_ide, clones `../projects/`, AnythingLLM |
| [features/browser-automation-criteria.md](./features/browser-automation-criteria.md) | Critères service navigateur optionnel | | [features/browser-automation-criteria.md](./features/browser-automation-criteria.md) | Critères service navigateur optionnel |
## Arborescence hors `docs/` ## Arborescence hors `docs/`

View File

@ -14,3 +14,4 @@
- Instance Docker décrite dans [services.md](./services.md) : stockage hôte typiquement sous `$HOME/anythingllm` sur l**hôte qui exécute le conteneur** — en **première cible de déploiement**, cet hôte est le **serveur distant** (SSH), pas obligatoirement le poste Linux client ; la création de **plusieurs workspaces** se fait dans lUI AnythingLLM (ou via API) en conservant la convention « un workspace = un projet ». - Instance Docker décrite dans [services.md](./services.md) : stockage hôte typiquement sous `$HOME/anythingllm` sur l**hôte qui exécute le conteneur** — en **première cible de déploiement**, cet hôte est le **serveur distant** (SSH), pas obligatoirement le poste Linux client ; la création de **plusieurs workspaces** se fait dans lUI AnythingLLM (ou via API) en conservant la convention « un workspace = un projet ».
- Lorchestrateur IDE décide **quand** interroger AnythingLLM (voir [system-architecture.md](./system-architecture.md)). LURL vue depuis le client peut exiger un **tunnel SSH** ou un rebond réseau : [deployment-target.md](./deployment-target.md). - Lorchestrateur IDE décide **quand** interroger AnythingLLM (voir [system-architecture.md](./system-architecture.md)). LURL vue depuis le client peut exiger un **tunnel SSH** ou un rebond réseau : [deployment-target.md](./deployment-target.md).
- Stratégie densemble (Git, hooks, scripts de synchro) : [ecosystem-architecture-and-sync.md](./ecosystem-architecture-and-sync.md).

View File

@ -0,0 +1,124 @@
# Architecture cible : smart_ide, projets développés, API IA et hôte
Ce document fixe la **répartition souhaitée** entre le monorepo **smart_ide**, les **dépôts applicatifs** développés ailleurs, la **couche API IA** (orchestrateur, gateway, micro-services HTTP), et les **services dhôte** (**Git**, **Ollama**, **AnythingLLM**). Il décrit ensuite une **stratégie dautomatisation et de synchronisation** cohérente, centrée sur **Git** et des **scripts** du dépôt smart_ide.
Références complémentaires : [system-architecture.md](./system-architecture.md), [platform-target.md](./platform-target.md), [anythingllm-workspaces.md](./anythingllm-workspaces.md), [features/orchestrator-api.md](./features/orchestrator-api.md), [features/ia-dev-service.md](./features/ia-dev-service.md), [API/README.md](./API/README.md), [projects/README.md](../projects/README.md), [features/docv-ai-integration.md](./features/docv-ai-integration.md).
## 1. Périmètres et référentiels
| Élément | Rôle | Où vit la vérité opérationnelle |
|---------|------|----------------------------------|
| **smart_ide** | Socle : doc, `services/*`, scripts, systemd, confs `ia_dev` (`./projects/<id>/conf.json`), sous-module **`ia_dev/`** | Dépôt Git **smart_ide** (forge interne) |
| **Projets développés** | Code métier (docv, autres produits) : sources, builds, tests | **Autres** dépôts Git ; clones sur disque en dehors de `./projects/` (convention : répertoire frère `../projects/<nom>/` ou équivalent) |
| **Couche API IA** | Routage HTTP, auth, appels vers LLM, RAG, outils, agents | Processus sur l**hôte** (systemd, ports locaux) ; contrats décrits sous `docs/API/` |
| **Git (hôte)** | Historique des dépôts, hooks, branches par environnement | Chaque dépôt ; politique de branche documentée par projet |
| **Ollama (hôte)** | Inférence locale (modèles) | Service sur lhôte qui exécute linférence ; pas de duplication dhistorique Git |
| **AnythingLLM (hôte)** | Workspaces RAG **par projet**, threads, documents indexés | Instance Docker ou service ; données persistées côté hôte ; **pas** substitut à Git pour le code source |
La **mémoire RAG** (AnythingLLM) est une **vue dérivée** des fichiers autorisés du dépôt : elle doit suivre des règles d**inclusion / exclusion** explicites (ex. `.4nkaiignore`), alignées avec la sécurité.
## 2. Schéma logique des flux
```mermaid
flowchart TB
subgraph repos [Dépôts Git]
SI[smart_ide]
P1[projet_A_clone]
P2[projet_B_clone]
end
subgraph host [Hôte]
Git[Git_cli_hooks]
Oll[Ollama]
ALLM[AnythingLLM]
end
subgraph api [Couche API IA smart_ide]
Orch[orchestrator]
GW[ia_dev_gateway]
MS[micro_services]
end
SI --> Git
P1 --> Git
P2 --> Git
Orch --> Oll
Orch --> ALLM
Orch --> GW
Orch --> MS
GW --> SI
Clients[IDE_docv_autres] --> Orch
```
- Les **clients** (Lapce, front, backend docv, scripts) parlent à l**orchestrateur** et aux services exposés selon [API/README.md](./API/README.md).
- L**orchestrateur** route vers **Ollama** (génération), **AnythingLLM** (RAG / contexte documentaire), **`ia-dev-gateway`** (agents / exécutions `ia_dev`), et les **micro-services** (`langextract-api`, `agent-regex-search-api`, `repos-devtools-server`, etc.) selon lintention.
- **Git** relie les dépôts au disque ; les **hooks** et scripts assument la **propagation contrôlée** vers AnythingLLM après changements validés dans lhistorique.
## 3. Rôle de chaque brique hôte
### Git
- **Source de vérité** pour le code et la documentation versionnée des projets.
- **Branches** : alignement avec les environnements (test / pprod / prod) selon la politique du projet ; smart_ide documente les cibles dans [platform-target.md](./platform-target.md) et [deployment-target.md](./deployment-target.md).
- **Sous-module `ia_dev`** : `git submodule update --init --recursive` sur smart_ide ; puis scripts de post-checkout documentés ([ia_dev-submodule.md](./ia_dev-submodule.md), [projects/README.md](../projects/README.md)).
### Ollama
- Point dentrée pour les **modèles** consommés par lorchestrateur, le gateway ou les outils ; configuration hôte (Docker ou natif) : [services.md](./services.md).
- Aucune synchronisation automatique implicite avec les dépôts : seuls les **artefacts modèle** (pull Ollama) sont gérés côté Ollama.
### AnythingLLM
- **Un workspace par projet** logique : [anythingllm-workspaces.md](./anythingllm-workspaces.md).
- Le workspace doit être **alimenté** à partir des clones autorisés ; si workspace ou clone **manque**, la procédure est : cloner / mettre à jour le dépôt, créer ou rattacher le workspace, lancer une synchro (voir § 4).
### Outillage Git HTTP (`repos-devtools-server`)
- Clone et rafraîchissement de dépôts dans une **racine contrôlée** (`REPOS_DEVTOOLS_ROOT`) : complément à Git en ligne de commande pour lIDE ou lautomation ; détail : [API/repos-devtools-server.md](./API/repos-devtools-server.md).
## 4. Stratégie dautomatisation et de synchronisation
Objectif : après un changement **tracé dans Git**, les systèmes en aval (AnythingLLM, résolution `ia_dev`) restent **cohérents** sans copie manuelle ad hoc, dans la limite des outils actuels.
### 4.1 Ordre de référence (nouvelle machine ou post-clone)
1. Cloner **smart_ide** avec sous-modules : `git clone --recurse-submodules …`.
2. Initialiser / mettre à jour **`ia_dev`** : `git submodule update --init --recursive`.
3. Recréer le lien conf projet : `./scripts/ensure-ia-dev-smart-ide-project-link.sh` ([projects/README.md](../projects/README.md)).
4. Cloner les **projets applicatifs** à lemplacement convenu (ex. `../projects/<id>/`) et vérifier les chemins **absolus** dans `projects/<id>/conf.json` si `ia_dev` doit les piloter.
5. Démarrer **Ollama** et **AnythingLLM** sur lhôte ([services.md](./services.md)) ; créer les **workspaces** et noter les **slugs**.
6. Configurer lenvironnement de synchro AnythingLLM : `~/.config/4nk/anythingllm-sync.env` (URL, clé API) — ne pas commiter les secrets.
7. Par dépôt à indexer : fichier **`.anythingllm.json`** à la racine avec `{ "workspaceSlug": "…" }` (ou variable denvironnement équivalente), puis installer le hook **post-merge** : [features/anythingllm-pull-sync-after-pull.md](./features/anythingllm-pull-sync-after-pull.md), [scripts/anythingllm-pull-sync/README.md](../scripts/anythingllm-pull-sync/README.md).
### 4.2 Cycle de travail développeur (projet applicatif)
1. `git pull` (ou `merge`) sur le clone du projet.
2. Le hook **post-merge** exécute **`scripts/anythingllm-pull-sync/sync.mjs`** : envoi des fichiers **modifiés ou ajoutés** vers le workspace AnythingLLM du projet, avec exclusions **`.4nkaiignore`**.
3. Limites documentées : pas de suppression automatique des documents retirés du repo dans la version actuelle du script ; traiter les gros refactors par une **resynchro** manuelle ou évolution du script si le besoin est récurrent.
### 4.3 Cycle de travail sur smart_ide
1. `git pull` sur smart_ide ; mettre à jour le sous-module **`ia_dev`** si le pointeur parent a bougé.
2. Réexécuter **`ensure-ia-dev-smart-ide-project-link.sh`** si le répertoire `ia_dev/projects/` a été réinitialisé.
3. Option : installer le même hook **post-merge** sur le dépôt **smart_ide** si un workspace AnythingLLM est dédié au monorepo (fichier `.anythingllm.json` + slug).
### 4.4 Agents, déploiement, ticketing (`ia_dev`)
- Exécution depuis la **racine** du sous-module `ia_dev/` ; résolution du projet : `IA_PROJECT_ID`, `--project`, `MAIL_TO`, `AI_AGENT_TOKEN` — voir `ia_dev/projects/README.md` dans le sous-module.
- Les scripts **ne remplacent pas** Git : ils **lisent** `conf.json` pour savoir où sont les dépôts et comment déployer.
### 4.5 Cohérence « clone présent + workspace aligné »
| Situation | Action |
|-----------|--------|
| Clone absent | `git clone` (ou API `repos-devtools-server` si périmètre autorisé) vers la racine convenue ; mettre à jour `project_path` dans `conf.json` si le chemin change (validation humaine pour toute modification de conf). |
| Workspace AnythingLLM absent | Créer le workspace dans lUI ou lAPI AnythingLLM ; renseigner `.anythingllm.json` ou `ANYTHINGLLM_WORKSPACE_SLUG`. |
| Workspace désynchronisé | `git pull` sur le clone concerné pour déclencher le hook ; ou exécuter manuellement `sync.mjs` avec les bons répertoires / variables. |
| Nouveau fichier sensible dans le dépôt | Vérifier **`.4nkaiignore`** avant le prochain upload ; ne pas indexer de secrets. |
## 5. Intégrations tierces (ex. docv)
Le backend **docv** consomme la **même couche API IA** et les mêmes principes de **projet = clone Git + workspace** : [features/docv-ai-integration.md](./features/docv-ai-integration.md). L**OIDC** (SSO) est orthogonal aux flux de synchro fichier : [features/sso-docv-enso.md](./features/sso-docv-enso.md).
## 6. Non-objectifs explicites dans cette stratégie
- Remplacer **Git** par AnythingLLM comme source du code.
- Synchroniser **automatiquement** sans hook ni script explicite : toute automatisation repose sur des **mécanismes nommés** (hooks, scripts du repo, systemd).
- Étendre le périmètre des dépôts **sans** contrôle de racine (`REPOS_DEVTOOLS_ROOT`, politique SSH) : hors sujet de ce document ; à traiter au niveau policy / OpenShell ([system-architecture.md](./system-architecture.md)).

View File

@ -0,0 +1,36 @@
# docv — intégrations IA via la plateforme smart_ide
## Rôle de smart_ide
Le monorepo **smart_ide** sert aussi de **socle technique** pour les intégrations IA consommées par le **backend docv** (filière Enso). Le principe : exposer, parmi les services locaux, des **API HTTP génériques** (orchestrateur, gateway agents, Ollama, AnythingLLM, micro-services sous `services/`) que le back **docv** peut appeler pour offrir les fonctionnalités IA **par projet**.
Référence darborescence côté Enso (machine de développement type) : dépôt **docv** sous un chemin du genre `…/enso/docv` (ex. historique `/home/desk/code/enso/docv`). Les URLs et secrets réels par environnement restent hors dépôt ([platform-target.md](../platform-target.md), [sso-docv-enso.md](./sso-docv-enso.md)).
## Modèle « projet »
Pour chaque **projet logique** (ex. périmètre docv, autre produit) :
1. **Clone Git** : le dépôt applicatif doit être **déjà cloné** au même titre que les autres projets de lespace de travail, en général sous une **racine de clones** **distincte** du dossier `./projects/` du monorepo (voir [projects/README.md](../../projects/README.md)) — convention fréquente : répertoire **frère** `../projects/<nom>/` par rapport à la racine `smart_ide`.
2. **AnythingLLM** : le projet doit être **rattaché à un workspace** AnythingLLM (un workspace par projet). Si le clone ou le workspace **manque** ou est désynchronisé, la procédure dexploitation prévoit de **créer / mettre à jour** le clone et d**aligner** le workspace (synchronisation déterministe, voir [anythingllm-workspaces.md](../anythingllm-workspaces.md) et scripts sous `scripts/`).
3. **Configuration ia_dev** : lorsquun id projet est enregistré pour les agents ou le ticketing, un `conf.json` peut être versionné sous **`smart_ide/projects/<id>/conf.json`** ; les scripts `ia_dev` y accèdent via le lien `ia_dev/projects/<id>` lorsque le script [`ensure-ia-dev-smart-ide-project-link.sh`](../../scripts/ensure-ia-dev-smart-ide-project-link.sh) (ou équivalent) a été exécuté.
## Flux cible (vue simplifiée)
```mermaid
flowchart LR
Docv[docv_backend]
Orch[orchestrator]
GW[ia_dev_gateway]
ALLM[AnythingLLM]
Oll[Ollama]
Docv --> Orch
Orch --> GW
Orch --> ALLM
Orch --> Oll
```
Les contrats HTTP détaillés : [API/README.md](../API/README.md), [orchestrator-api.md](./orchestrator-api.md), [ia-dev-service.md](./ia-dev-service.md). Vue densemble écosystème et synchro : [ecosystem-architecture-and-sync.md](../ecosystem-architecture-and-sync.md).
## SSO
Lauthentification utilisateur front / docv (OIDC) est décrite dans [sso-docv-enso.md](./sso-docv-enso.md) ; elle est **orthogonale** aux appels **serveur à serveur** (tokens API, réseau interne) entre docv et les services smart_ide.

View File

@ -31,6 +31,8 @@ sequenceDiagram
API->>API: validate JWT JWKS API->>API: validate JWT JWKS
``` ```
Intégrations **IA** côté backend docv (services smart_ide, clones, AnythingLLM) : [docv-ai-integration.md](./docv-ai-integration.md).
## Paramètres à fixer avec le dépôt Enso ## Paramètres à fixer avec le dépôt Enso
- `issuer` (URL stable par env) - `issuer` (URL stable par env)

View File

@ -4,9 +4,38 @@ Le dépôt **smart_ide** est enregistré dans le sous-module **`ia_dev`** sous l
## Fichier de configuration ## Fichier de configuration
- **`ia_dev/projects/smart_ide/conf.json`** — chemins machine (`project_path`), URLs wiki et issues (`https://git.4nkweb.com/4nk/smart_ide/...`), boîtes mail autorisées pour le ticketing (envs test / pprod / prod). - **Source de vérité (versionnée dans ce monorepo) :** [`projects/smart_ide/conf.json`](../projects/smart_ide/conf.json) — chemins machine (`project_path`), URLs wiki et issues (`https://git.4nkweb.com/4nk/smart_ide/...`), boîtes mail autorisées pour le ticketing (envs test / pprod / prod).
- **Sous-module `ia_dev` :** le chemin `ia_dev/projects/smart_ide/conf.json` doit résoudre le même fichier via le lien créé par [`scripts/ensure-ia-dev-smart-ide-project-link.sh`](../scripts/ensure-ia-dev-smart-ide-project-link.sh).
Adapter **`project_path`** (et champs dérivés si vous ajoutez `build_dirs` / `deploy`) sur chaque poste ou serveur où `ia_dev` exécute des commandes sur ce dépôt. Adapter **`project_path`** (et champs dérivés si vous ajoutez `build_dirs` / `deploy`) sur chaque poste ou serveur où `ia_dev` exécute des commandes sur ce dépôt. Les **clones** dautres apps (docv, etc.) ne vont **pas** dans `./projects/` : voir [projects/README.md](../projects/README.md).
## Agents Cursor (pont smart_ide → ia_dev)
Dans ce dépôt, les définitions **Cursor** sous [`.cursor/agents/`](../.cursor/agents/) utilisent le préfixe **`ia-dev-*`** : elles fixent le projet **`smart_ide`**, imposent dindiquer l**environnement** (`test`, `pprod`, `prod`), puis renvoient à la procédure complète dans le sous-module : `ia_dev/.cursor/agents/<agent>.md`.
| Agent Cursor (smart_ide) | Définition ia_dev |
|--------------------------|-------------------|
| `ia-dev-fix` | `fix.md` |
| `ia-dev-evol` | `evol.md` |
| `ia-dev-code` | `code.md` |
| `ia-dev-fix-search` | `fix-search.md` |
| `ia-dev-fix-lint` | `fix-lint.md` |
| `ia-dev-docupdate` | `docupdate.md` |
| `ia-dev-push-by-script` | `push-by-script.md` |
| `ia-dev-deploy-by-script` | `deploy-by-script.md` |
| `ia-dev-deploy-pprod-or-prod` | `deploy-pprod-or-prod.md` |
| `ia-dev-branch-align-by-script-from-test` | `branch-align-by-script-from-test.md` |
| `ia-dev-change-to-all-branches` | `change-to-all-branches.md` |
| `ia-dev-agent-loop` | `agent-loop.md` |
| `ia-dev-gitea-issues-process` | `gitea-issues-process.md` |
| `ia-dev-setup-host` | `setup-host.md` |
| `ia-dev-notary-ai-loop` | `notary-ai-loop.md` |
| `ia-dev-notary-ai-process` | `notary-ai-process.md` |
| `ia-dev-closure-point-7-justification` | `closure-point-7-justification.md` |
Règle de contexte (fichiers sous `ia_dev/`, `docs/`, `services/`, etc.) : [`.cursor/rules/smart-ide-ia-dev-bridge.mdc`](../.cursor/rules/smart-ide-ia-dev-bridge.mdc).
**Usage :** choisir lagent `ia-dev-*` dans Cursor et préciser dans le message lenvironnement cible ; pour les scripts, `cd ia_dev` et `IA_PROJECT_ID=smart_ide` (ou `--project smart_ide`). Détail schéma conf : `ia_dev/projects/README.md` (sous-module). Conf **smart_ide** : `projects/smart_ide/conf.json` à la racine du monorepo.
## Liens ## Liens

View File

@ -2,7 +2,13 @@
The repository [4nk/ia_dev](https://git.4nkweb.com/4nk/ia_dev.git) is integrated as a **Git submodule** at `./ia_dev`. The repository [4nk/ia_dev](https://git.4nkweb.com/4nk/ia_dev.git) is integrated as a **Git submodule** at `./ia_dev`.
It holds the **centralized AI agent team** (definitions under `.cursor/agents/`, `.cursor/rules/`), `deploy/`, `gitea-issues/`, `projects/<id>/conf.json`, etc. Execution remains **from the `ia_dev` root** per upstream README; `smart_ide` provides the surrounding IDE vision, host scripts, and systemd units. It holds the **centralized AI agent team** (definitions under `.cursor/agents/`, `.cursor/rules/`), `deploy/`, `gitea-issues/`, etc. Les **`conf.json` par projet** pour ce monorepo sont versionnés sous **`./projects/<id>/` à la racine de `smart_ide`** (voir [projects/README.md](../projects/README.md)), pas mélangés avec les clones applicatifs (`../projects/` ou autre). Un **lien symbolique** `ia_dev/projects/smart_ide``../../projects/smart_ide` permet aux scripts ia_dev de résoudre `projects/smart_ide/conf.json`. Après chaque `git submodule update --init`, exécuter :
```bash
./scripts/ensure-ia-dev-smart-ide-project-link.sh
```
Execution remains **from the `ia_dev` root** per upstream README; `smart_ide` provides the surrounding IDE vision, host scripts, and systemd units.
## Clone with submodule ## Clone with submodule
@ -43,7 +49,7 @@ git config submodule.ia_dev.url git@git.4nkweb.com:4nk/ia_dev.git
| Repository | Role | | Repository | Role |
|------------|------| |------------|------|
| **smart_ide** | IDE target UX, local AI stack scripts, systemd, docs for deployment | | **smart_ide** | IDE target UX, local AI stack scripts, systemd, docs for deployment |
| **ia_dev** (submodule) | Agent registry, project configs, deploy/ticketing/notary pipelines | | **ia_dev** (submodule) | Agent registry, deploy/ticketing/notary pipelines ; configs projet **smart_ide** dans `./projects/` (racine monorepo) + lien |
The future **agent gateway** should treat `./ia_dev` as the canonical checkout path on the server unless overridden by configuration. See [system-architecture.md](./system-architecture.md). The future **agent gateway** should treat `./ia_dev` as the canonical checkout path on the server unless overridden by configuration. See [system-architecture.md](./system-architecture.md).

View File

@ -43,6 +43,10 @@ Les **garde-fous** prod (policy, droits déploiement, refus explicites) sont plu
Le **front web** de la plateforme peut sauthentifier auprès de **docv** (filière Enso) via **OpenID Connect**. Flux et contrats : [features/sso-docv-enso.md](./features/sso-docv-enso.md). Les endpoints exacts du dépôt Enso se calent lorsque le code docv est disponible sur la machine de build. Le **front web** de la plateforme peut sauthentifier auprès de **docv** (filière Enso) via **OpenID Connect**. Flux et contrats : [features/sso-docv-enso.md](./features/sso-docv-enso.md). Les endpoints exacts du dépôt Enso se calent lorsque le code docv est disponible sur la machine de build.
## API IA pour le backend docv
Le monorepo expose des **services HTTP génériques** (orchestrateur, gateway, RAG, inférence) que le **back docv** peut consommer **par projet** ; clones Git et workspaces AnythingLLM doivent exister et être tenus à jour. Détail : [features/docv-ai-integration.md](./features/docv-ai-integration.md).
## Chaîne technique de référence ## Chaîne technique de référence
```mermaid ```mermaid

View File

@ -1,6 +1,6 @@
# Architecture système — IDE, agents, runtime, mémoire # Architecture système — IDE, agents, runtime, mémoire
Vue produit multi-environnements, SSO et option navigateur : [platform-target.md](./platform-target.md). Vue produit multi-environnements, SSO et option navigateur : [platform-target.md](./platform-target.md). Architecture **écosystème + synchronisation** (projets externes, API IA, hôte) : [ecosystem-architecture-and-sync.md](./ecosystem-architecture-and-sync.md).
## Objectifs du projet (rappel) ## Objectifs du projet (rappel)
@ -35,7 +35,8 @@ Conséquences :
| `extensions/anythingllm-workspaces/` | Outils / modèles alignés AnythingLLM et workspaces par projet | | `extensions/anythingllm-workspaces/` | Outils / modèles alignés AnythingLLM et workspaces par projet |
| `scripts/` , `setup/` , `systemd/` | Installation hôte, scripts dexploitation, unités utilisateur pour services | | `scripts/` , `setup/` , `systemd/` | Installation hôte, scripts dexploitation, unités utilisateur pour services |
| `services/local-office/` | **API REST** Office (upload, commandes docx, stockage SQLite + fichiers) ; complément programmatique à ONLYOFFICE | | `services/local-office/` | **API REST** Office (upload, commandes docx, stockage SQLite + fichiers) ; complément programmatique à ONLYOFFICE |
| `ia_dev/` | Agents, `projects/<id>/`, déploiements — exécution sous policy ; voir sous-module | | `projects/<id>/` (racine monorepo) | **Confs seules** pour `ia_dev` (`conf.json`) — **pas** les clones Git ; clones typiquement sous `../projects/` ou autre racine ; voir [projects/README.md](../projects/README.md) |
| `ia_dev/` | Agents, déploiements — exécution sous policy ; `projects/<id>/` du sous-module peut pointer vers `../../projects/<id>` (lien) ; voir sous-module |
| `services/ia-dev-gateway/` | Gateway HTTP (stub runner) : registre agents `.md`, runs, SSE — [features/ia-dev-service.md](./features/ia-dev-service.md) | | `services/ia-dev-gateway/` | Gateway HTTP (stub runner) : registre agents `.md`, runs, SSE — [features/ia-dev-service.md](./features/ia-dev-service.md) |
| `services/smart-ide-orchestrator/` | Routage intentions (stub forward) — [features/orchestrator-api.md](./features/orchestrator-api.md) | | `services/smart-ide-orchestrator/` | Routage intentions (stub forward) — [features/orchestrator-api.md](./features/orchestrator-api.md) |
@ -68,7 +69,7 @@ L**éditeur** et une partie de lUX peuvent rester sur le client ; le **gat
| **AnythingLLM** | **Mémoire documentaire** et RAG ; **un workspace par projet** ([anythingllm-workspaces.md](./anythingllm-workspaces.md)) | | **AnythingLLM** | **Mémoire documentaire** et RAG ; **un workspace par projet** ([anythingllm-workspaces.md](./anythingllm-workspaces.md)) |
| **ONLYOFFICE** | Backend **documentaire métier** (documents, feuilles, présentations) | | **ONLYOFFICE** | Backend **documentaire métier** (documents, feuilles, présentations) |
Flux type : demande utilisateur → orchestrateur → préparation (scripts / tools génériques) → agents → besoin LLM → Ollama ; besoin doc / RAG → AnythingLLM ; besoin bureautique riche → ONLYOFFICE ; besoin **fichier Office manipulé par API** (tiers, scripts, agents) → **`services/local-office/`** (Local Office). Flux type : demande utilisateur → orchestrateur → préparation (scripts / tools génériques) → agents → besoin LLM → Ollama ; besoin doc / RAG → AnythingLLM ; besoin bureautique riche → ONLYOFFICE ; besoin **fichier Office manipulé par API** (tiers, scripts, agents) → **`services/local-office/`** (Local Office). Le **backend docv** peut sappuyer sur les mêmes services pour des parcours IA **par projet** ([features/docv-ai-integration.md](./features/docv-ai-integration.md)).
Enrichissement possible du routage (sans changer le principe « orchestrateur = logique de flux, pas LLM ») : Enrichissement possible du routage (sans changer le principe « orchestrateur = logique de flux, pas LLM ») :

19
projects/README.md Normal file
View File

@ -0,0 +1,19 @@
# 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 nest **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) → uniquement `conf.json` (+ métadonnées légères) pour que `ia_dev` résolve `projects/<id>/conf.json` via le lien symbolique décrit dans [docs/ia_dev-submodule.md](../docs/ia_dev-submodule.md).
- **`../projects/`** (ou autre racine configurée) → arborescences Git complètes, builds, etc. ; `project_path` dans chaque `conf.json` pointe vers ces chemins **absolus**.
## `smart_ide`
- Fichier : [`smart_ide/conf.json`](./smart_ide/conf.json)
- Après `git submodule update`, exécuter [`scripts/ensure-ia-dev-smart-ide-project-link.sh`](../scripts/ensure-ia-dev-smart-ide-project-link.sh) pour recréer le lien `ia_dev/projects/smart_ide``../../projects/smart_ide`.
## Référence amont
Schéma des champs : `ia_dev/projects/README.md` dans le sous-module (documentation ia_dev).

View File

@ -0,0 +1,31 @@
{
"id": "smart_ide",
"name": "smart_ide",
"project_path": "/home/ncantu/code/smart_ide",
"build_dirs": [],
"deploy": {},
"version": {
"package_json_paths": [],
"splash_app_name": "smart_ide"
},
"mail": {
"imap_bridge_env": ".secrets/gitea-issues/imap-bridge.env"
},
"git": {
"wiki_url": "https://git.4nkweb.com/4nk/smart_ide/wiki",
"token_file": ".secrets/gitea-issues/token"
},
"tickets": {
"ticketing_url": "https://git.4nkweb.com/4nk/smart_ide/issues",
"authorized_emails": {
"to": [
{
"test": "AI.SMART_IDE.TEST@4nkweb.com",
"pprod": "AI.SMART_IDE.PPROD@4nkweb.com",
"prod": "AI.SMART_IDE.PROD@4nkweb.com"
}
],
"from": ["nicolas.4nk@pm.me"]
}
}
}

View File

@ -0,0 +1,15 @@
#!/usr/bin/env bash
# Create ia_dev/projects/smart_ide -> ../../projects/smart_ide so scripts under ia_dev
# resolve projects/smart_ide/conf.json to this monorepo's versioned conf.
set -euo pipefail
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
LINK_PARENT="${ROOT}/ia_dev/projects"
TARGET="../../projects/smart_ide"
LINK_NAME="${LINK_PARENT}/smart_ide"
mkdir -p "${LINK_PARENT}"
if [[ -e "${LINK_NAME}" && ! -L "${LINK_NAME}" ]]; then
echo "Refusing to replace non-symlink: ${LINK_NAME}" >&2
exit 1
fi
ln -sfn "${TARGET}" "${LINK_NAME}"
echo "OK: ${LINK_NAME} -> ${TARGET}"