- Default PULL_SYNC_LOG to logs/git-pull-projects.log; add logs/README and gitignore - Add services/ia_dev integration README and .env.example - Replace docs/ia_dev-submodule.md with ia_dev-module.md; update ecosystem and README links - Point ia_dev submodule to commit with smart_ide_logs.sh
63 lines
6.9 KiB
Markdown
63 lines
6.9 KiB
Markdown
# 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/<id>/`](./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/<id>/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
|