smart_ide/docs/features/repos-devtools-server-and-dev-panel.md
Nicolas Cantu 597f18f758 Add repos-devtools-server and AnythingLLM dev tools panel (0.2.0)
**Motivations:**
- Clone or load repos under /home/ncantu/code with AnythingLLM workspace ensure/create from the editor

**Root causes:**
- N/A (new capability)

**Correctifs:**
- N/A

**Evolutions:**
- services/repos-devtools-server: POST /repos-clone, GET /repos-list, POST /repos-load (Bearer REPOS_DEVTOOLS_TOKEN)
- Extension: Webview panel, slash commands, workspaceEnsure + POST /api/v1/workspace/new
- Docs: feature note and index links

**Pages affectées:**
- services/repos-devtools-server/*
- extensions/anythingllm-workspaces/*
- docs/README.md
- docs/features/repos-devtools-server-and-dev-panel.md
- docs/features/anythingllm-vscode-extension.md
2026-03-23 21:20:32 +01:00

35 lines
1.9 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.

# repos-devtools-server + panneau « Dev tools » (extension AnythingLLM)
**Author:** 4NK
## Objectif
Sur lhôte qui porte les clones (ex. `192.168.1.164`, racine `/home/ncantu/code`) :
- exposer une **API HTTP locale** (git clone branche `test`, liste des dépôts, résolution de chemin) ;
- depuis lextension **AnythingLLM Workspaces**, fournir un **panneau Webview** pour saisir des commandes texte et afficher la réponse ;
- enchaîner avec l**API développeur AnythingLLM** pour **vérifier / créer** un workspace dont le nom (ou slug) correspond au dépôt.
## Impacts
- Nouveau service : `services/repos-devtools-server/` (Node 20+, écoute `127.0.0.1`, Bearer obligatoire via `REPOS_DEVTOOLS_TOKEN`).
- Extension version **0.2.0** : réglages `anythingllm.reposApiBaseUrl`, `anythingllm.reposApiToken`, commande **AnythingLLM: Dev tools panel**, fichiers `media/devTools.js`, logique `workspaceEnsure`, `POST /api/v1/workspace/new`.
## Modifications
- Serveur : `POST /repos-clone`, `GET /repos-list`, `POST /repos-load`.
- Extension : parseur de lignes, client HTTP repos, `ensureWorkspaceForRepoName`, panneau Webview.
## Modalités de déploiement
1. Sur la machine des clones : définir `REPOS_DEVTOOLS_TOKEN`, optionnellement `REPOS_DEVTOOLS_ROOT`, `npm run build && npm start` (voir `services/repos-devtools-server/README.md`).
2. Dans Cursor / VS Code (même hôte ou tunnel vers `:37140`) : renseigner `anythingllm.reposApiBaseUrl` et `anythingllm.reposApiToken`.
3. Recompiler / réinstaller lextension (`.vsix` ou workspace dev).
## Modalités danalyse
- Erreur **401** sur lAPI repos : token extension ≠ `REPOS_DEVTOOLS_TOKEN`.
- Erreur **403** AnythingLLM : clé API application (pas secret nginx Ollama).
- **409** clone : répertoire cible déjà présent sous `REPOS_DEVTOOLS_ROOT`.
- **git clone** échoue si la branche `test` nexiste pas sur le remote (comportement git nominal).