smart_ide/docs/features/lapce-porting-roadmap.md
Nicolas Cantu ac96434351 docs: centralize README content under docs/repo/
**Motivations:**
- Single canonical documentation tree under docs/; reduce drift between README copies.

**Evolutions:**
- Add docs/repo/ with operational guides (cron, systemd, projects, logs, docv, ia_dev, services, scripts, extension).
- Replace scattered README.md files with pointers to docs/repo/*.md.
- Refresh docs/README.md index and cross-links across docs/, .cursor rules/agents.
- Bump ia_dev submodule to matching doc pointer commits.
2026-04-03 18:20:31 +02:00

33 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Portage AnythingLLM Workspaces → Lapce (`core_ide/`)
Lextension [extensions/anythingllm-workspaces/](../../extensions/anythingllm-workspaces/) cible **VS Code / Cursor** (`vscode` API). Lapce utilise un **modèle de plugins** distinct (Volt / WASI, RPC). Ce document découpe le travail en **phases** pour une interface cohérente avec [platform-target.md](../platform-target.md).
## Phase 1 — Connectivité sans webview
- Préférences Lapce (équivalent `anythingllm.baseUrl`, `apiKey`, `reposApiBaseUrl`, `reposApiToken`) — stockage secrets hors dépôt.
- Commandes palette :
- Lister les workspaces AnythingLLM → ouvrir URL dans le **navigateur système**.
- Ouvrir lUI web AnythingLLM.
- Client HTTP vers `repos-devtools-server` et API AnythingLLM (réutiliser la logique des fichiers TypeScript comme **spécification** ; implémenter en Rust dans Lapce ou via petit binaire Node invoqué — choix déquipe).
- Pas de panneau Dev tools ; pas de sync RAG initiale depuis lIDE.
## Phase 2 — Parité « Dev tools » et sync RAG
- Panneau ou vue dédiée : saisie des lignes de commande (`/repos-clone-sync`, `/workspace-sync`, …) comme décrit dans [repo/extension-anythingllm-workspaces.md](../repo/extension-anythingllm-workspaces.md).
- Réimplémenter **initialRagSync** + `.4nkaiignore` (crate `ignore` ou équivalent Rust).
- Ouvrir le dossier dépôt dans Lapce après clone (API workspace Lapce).
## Phase 3 — Orchestrateur
- Raccorder les commandes Lapce à [orchestrator-api.md](./orchestrator-api.md) plutôt quaux services en dur, pour centraliser tokens et politiques par `env`.
## Dépendances
- [core-ide.md](../core-ide.md) — build Lapce.
- [orchestrator-api.md](./orchestrator-api.md) — routage cible.
- [anythingllm-workspaces.md](../anythingllm-workspaces.md) — principe workspace par projet.
## Risque principal
Écart de capacités entre **webview VS Code** et **UI Lapce** : prévoir une **vue minimale** (terminal + buffer sortie) si webview complète retardée.