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:
parent
088eab84b7
commit
7f1cee487c
23
.cursor/agents/ia-dev-agent-loop.md
Normal file
23
.cursor/agents/ia-dev-agent-loop.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-branch-align-by-script-from-test.md
Normal file
23
.cursor/agents/ia-dev-branch-align-by-script-from-test.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-change-to-all-branches.md
Normal file
23
.cursor/agents/ia-dev-change-to-all-branches.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-closure-point-7-justification.md
Normal file
23
.cursor/agents/ia-dev-closure-point-7-justification.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-code.md
Normal file
23
.cursor/agents/ia-dev-code.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-deploy-by-script.md
Normal file
23
.cursor/agents/ia-dev-deploy-by-script.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-deploy-pprod-or-prod.md
Normal file
23
.cursor/agents/ia-dev-deploy-pprod-or-prod.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-docupdate.md
Normal file
23
.cursor/agents/ia-dev-docupdate.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-evol.md
Normal file
23
.cursor/agents/ia-dev-evol.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-fix-lint.md
Normal file
23
.cursor/agents/ia-dev-fix-lint.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-fix-search.md
Normal file
23
.cursor/agents/ia-dev-fix-search.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-fix.md
Normal file
23
.cursor/agents/ia-dev-fix.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-gitea-issues-process.md
Normal file
23
.cursor/agents/ia-dev-gitea-issues-process.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-notary-ai-loop.md
Normal file
23
.cursor/agents/ia-dev-notary-ai-loop.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-notary-ai-process.md
Normal file
23
.cursor/agents/ia-dev-notary-ai-process.md
Normal 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`.
|
||||
23
.cursor/agents/ia-dev-push-by-script.md
Normal file
23
.cursor/agents/ia-dev-push-by-script.md
Normal 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`.
|
||||
25
.cursor/agents/ia-dev-setup-host.md
Normal file
25
.cursor/agents/ia-dev-setup-host.md
Normal 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`.
|
||||
20
.cursor/rules/smart-ide-ia-dev-bridge.mdc
Normal file
20
.cursor/rules/smart-ide-ia-dev-bridge.mdc
Normal 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** s’il 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 l’env 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
4
.gitignore
vendored
@ -1,4 +1,4 @@
|
||||
# Vendored / cloned upstream trees (large; not part of smart_ide source history)
|
||||
core_ide/
|
||||
projects/
|
||||
node_modules/
|
||||
# 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/
|
||||
|
||||
@ -27,23 +27,25 @@ Voir [docs/anythingllm-workspaces.md](./docs/anythingllm-workspaces.md).
|
||||
|
||||
## 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 d’agents, 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 d’agents, 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
|
||||
|
||||
| Document | Contenu |
|
||||
|----------|---------|
|
||||
| [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/infrastructure.md](./docs/infrastructure.md) | LAN, SSH, scripts d’accès hôte |
|
||||
| [docs/services.md](./docs/services.md) | Ollama, AnythingLLM Docker, intégration |
|
||||
| [docs/anythingllm-workspaces.md](./docs/anythingllm-workspaces.md) | Workspaces par projet, synchronisation |
|
||||
| [docs/ux-navigation-model.md](./docs/ux-navigation-model.md) | Remplacer l’explorer : intentions, risques, vues, graphe, mode expert |
|
||||
| [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 |
|
||||
| [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-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/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 |
|
||||
|
||||
@ -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 |
|
||||
| [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 |
|
||||
| [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 |
|
||||
| [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 |
|
||||
@ -38,7 +39,7 @@ Index des documents à la racine de `docs/`. Les **fonctionnalités** détaillé
|
||||
|
||||
| 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/`)
|
||||
|
||||
@ -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/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/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 |
|
||||
|
||||
## Arborescence hors `docs/`
|
||||
|
||||
@ -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 l’UI AnythingLLM (ou via API) en conservant la convention « un workspace = un projet ».
|
||||
- L’orchestrateur IDE décide **quand** interroger AnythingLLM (voir [system-architecture.md](./system-architecture.md)). L’URL vue depuis le client peut exiger un **tunnel SSH** ou un rebond réseau : [deployment-target.md](./deployment-target.md).
|
||||
- Stratégie d’ensemble (Git, hooks, scripts de synchro) : [ecosystem-architecture-and-sync.md](./ecosystem-architecture-and-sync.md).
|
||||
|
||||
124
docs/ecosystem-architecture-and-sync.md
Normal file
124
docs/ecosystem-architecture-and-sync.md
Normal 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 d’hôte** (**Git**, **Ollama**, **AnythingLLM**). Il décrit ensuite une **stratégie d’automatisation 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 l’hôte qui exécute l’inférence ; pas de duplication d’historique 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 l’intention.
|
||||
- **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 l’historique.
|
||||
|
||||
## 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 d’entrée pour les **modèles** consommés par l’orchestrateur, 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 l’IDE ou l’automation ; détail : [API/repos-devtools-server.md](./API/repos-devtools-server.md).
|
||||
|
||||
## 4. Stratégie d’automatisation 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** à l’emplacement 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 l’hôte ([services.md](./services.md)) ; créer les **workspaces** et noter les **slugs**.
|
||||
6. Configurer l’environnement 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 d’environnement é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 l’UI ou l’API 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)).
|
||||
36
docs/features/docv-ai-integration.md
Normal file
36
docs/features/docv-ai-integration.md
Normal 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 d’arborescence 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 l’espace 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 d’exploitation 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** : lorsqu’un 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 d’ensemble écosystème et synchro : [ecosystem-architecture-and-sync.md](../ecosystem-architecture-and-sync.md).
|
||||
|
||||
## SSO
|
||||
|
||||
L’authentification 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.
|
||||
@ -31,6 +31,8 @@ sequenceDiagram
|
||||
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
|
||||
|
||||
- `issuer` (URL stable par env)
|
||||
|
||||
@ -4,9 +4,38 @@ Le dépôt **smart_ide** est enregistré dans le sous-module **`ia_dev`** sous l
|
||||
|
||||
## 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** d’autres 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 d’indiquer 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 l’agent `ia-dev-*` dans Cursor et préciser dans le message l’environnement 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
|
||||
|
||||
|
||||
@ -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`.
|
||||
|
||||
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
|
||||
|
||||
@ -43,7 +49,7 @@ git config submodule.ia_dev.url git@git.4nkweb.com:4nk/ia_dev.git
|
||||
| Repository | Role |
|
||||
|------------|------|
|
||||
| **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).
|
||||
|
||||
|
||||
@ -43,6 +43,10 @@ Les **garde-fous** prod (policy, droits déploiement, refus explicites) sont plu
|
||||
|
||||
Le **front web** de la plateforme peut s’authentifier 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
|
||||
|
||||
```mermaid
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# 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)
|
||||
|
||||
@ -35,7 +35,8 @@ Conséquences :
|
||||
| `extensions/anythingllm-workspaces/` | Outils / modèles alignés AnythingLLM et workspaces par projet |
|
||||
| `scripts/` , `setup/` , `systemd/` | Installation hôte, scripts d’exploitation, unités utilisateur pour services |
|
||||
| `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/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 l’UX peuvent rester sur le client ; le **gat
|
||||
| **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) |
|
||||
|
||||
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 s’appuyer 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 ») :
|
||||
|
||||
|
||||
19
projects/README.md
Normal file
19
projects/README.md
Normal 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 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) → 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).
|
||||
31
projects/smart_ide/conf.json
Normal file
31
projects/smart_ide/conf.json
Normal 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"]
|
||||
}
|
||||
}
|
||||
}
|
||||
15
scripts/ensure-ia-dev-smart-ide-project-link.sh
Executable file
15
scripts/ensure-ia-dev-smart-ide-project-link.sh
Executable 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}"
|
||||
Loading…
x
Reference in New Issue
Block a user