# smart_ide — IDE orienté intention et IA locale Projet d’environnement de développement où l’**inférence** repose sur **Ollama**, la **mémoire documentaire et RAG** sur **AnythingLLM**, la **bureautique métier riche** sur **ONLYOFFICE**, et l’**édition / dépôt de fichiers Office par API** (docx programmatique) via **Local Office** (`services/local-office/`). Les **agents métier** existants (`ia_dev` et sous-agents) restent le noyau opératoire ; l’éditeur et l’orchestrateur les exposent via une **grammaire de commandes** plutôt que via une navigation fichiers classique. **Monorepo unique** : ce dépôt est le **référentiel principal** pour la doc, les **services locaux** (`services/`, dont Local Office), les scripts, les extensions et le **socle applicatif éditeur** (**Lapce** sous `core_ide/`, clone local hors index Git — voir [docs/core-ide.md](./docs/core-ide.md)). L’**hébergement canonique** est la **forge interne** ; les dépôts publics cités en documentation sont des **amonts** ou références, pas des cibles de publication obligatoires pour les livrables 4NK. Détail architectural : [docs/system-architecture.md](./docs/system-architecture.md). ## Première cible de déploiement Le **premier déploiement** visé est un **poste Linux client** qui se connecte en **SSH** à un **serveur distant** hébergeant : - le **socle technique IA** (Ollama, AnythingLLM, services associés) ; - les **dépôts** (sources, agents, procédures). L’UX (ex. Lapce) et les flux utilisateur peuvent tourner sur le client ; l’exécution lourde, la mémoire projet et Git vivent **sur le serveur**. Détail : [docs/deployment-target.md](./docs/deployment-target.md). ## Positionnement - **Pas d’explorer comme surface principale** : la navigation primaire passe par intentions, recherche, contexte, timeline, objets logiques et artefacts ; un accès brut (fichiers / arborescence) reste disponible en **mode expert / secours**, pas comme flux nominal. - **Machine de travail orientée opérations** plutôt qu’éditeur de fichiers : l’utilisateur exprime *ce qu’il veut faire*, *sur quel objet logique*, *avec quels droits*, *dans quel contexte projet*, *avec quelle procédure*, *avec quel agent*, *avec quel résultat attendu*. - **Socle applicatif éditeur : [Lapce](https://lapce.dev/)** sous **`core_ide/`** — open source, Rust, rendu natif / GPU ; base pour le noyau d’édition + agents. Mise à jour et build : [docs/core-ide.md](./docs/core-ide.md). Choix d’architecture, pas une obligation figée. ## AnythingLLM et projets Pour chaque **projet**, un **workspace AnythingLLM** dédié est créé (ou rattaché) : corpus, embeddings et conversations restent **isolés par projet**. Une **moulinette de synchronisation** aligne un sous-ensemble de fichiers du dépôt avec le workspace concerné afin de garder la mémoire RAG alignée avec le code et la doc utiles. Voir [docs/anythingllm-workspaces.md](./docs/anythingllm-workspaces.md). ## Module `ia_dev` (dans ce dépôt) Le répertoire [`./ia_dev`](./ia_dev) contient l’**équipe d’agents**, les scripts `deploy/`, le ticketing Gitea, etc. (référence historique sur la forge : [**ia_dev**](https://git.4nkweb.com/4nk/ia_dev.git)). Les **fichiers `conf.json`** pour ce monorepo sont sous [`./projects//`](./projects/README.md) (pas les clones Git ; ceux-ci ailleurs, ex. `../projects/`). Un `git clone` du monorepo suffit. Détail : [docs/ia_dev-module.md](./docs/ia_dev-module.md), intégration [services/ia_dev/](services/ia_dev/README.md), journaux [logs/README.md](logs/README.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, API IA docv | | [docs/API/README.md](./docs/API/README.md) | Référence HTTP des services sous `services/` + docv externe (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, docv / données `../projects//data`, Git / Ollama / AnythingLLM | | [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/` | | [cron/README.md](./cron/README.md) | Config `cron/config.env`, pull Git planifié (`projects/*/conf.json`) | | [scripts/install-git-pull-systemd-user.sh](./scripts/install-git-pull-systemd-user.sh) | Timer systemd **user** pour le pull automatique | | [docs/ia_dev-module.md](./docs/ia_dev-module.md) | Module `ia_dev`, liens projet, journaux | | [services/ia_dev/](services/ia_dev/README.md) | Contrat d’intégration `ia_dev` dans smart_ide | | [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 | | [docs/features/local-office.md](./docs/features/local-office.md) | Local Office : API REST docx (upload, commandes), dossier `services/local-office/` | | [docs/core-ide.md](./docs/core-ide.md) | Socle applicatif Lapce : répertoire `core_ide/`, clone, build | ## Dépôt actuel (outillage) Scripts d’installation et d’exploitation sur Ubuntu : SSH, sudo ciblé, AnythingLLM Docker, Ollama exposé pour Docker, modèle Ollama alias `qwen3-code-webdev`, installer Desktop AnythingLLM. Ces scripts ciblent en priorité l’**hôte serveur** qui porte le socle IA et les repos ; le **client Linux** repose surtout sur SSH et l’IDE. L’IDE complet (Lapce + orchestrateur + gateway) est **cible de conception** ; ce dépôt documente et supporte la **stack sur serveur** (Ollama + AnythingLLM) et l’accès distant. **Auteur :** Équipe 4NK