# API — repos-devtools-server Service Node (HTTP brut) : opérations Git limitées sous une racine configurable. - **Code** : [`services/repos-devtools-server/`](../../services/repos-devtools-server/) - **Bind** : `REPOS_DEVTOOLS_HOST` (défaut `127.0.0.1`) - **Port** : `REPOS_DEVTOOLS_PORT` (défaut `37140`) ## Authentification Toutes les routes exigent : ```http Authorization: Bearer ``` `REPOS_DEVTOOLS_TOKEN` est obligatoire au démarrage (non vide). ## Endpoints ### `POST /repos-clone` Clone un dépôt sous `REPOS_DEVTOOLS_ROOT`. **Corps JSON** | Champ | Obligatoire | Description | |-------|-------------|-------------| | `url` | oui | URL Git du dépôt à cloner | | `branch` | non | Branche à cloner (défaut `test`), clone `--single-branch` | **Réponses** - `200` : `{ "ok": true, "name", "path", "branch", "url", "fourNkAiIgnoreTemplateWrote": boolean }` — si le clone réussit ; si le dépôt n’a pas de `.4nkaiignore`, un gabarit peut être copié (`fourNkAiIgnoreTemplateWrote`). - `409` : répertoire cible déjà présent — `{ "error", "name", "path" }` - `500` : échec `git clone` ou échec après clone lors de l’écriture du template `.4nkaiignore` ### `GET /repos-list` Liste les sous-répertoires de `REPOS_DEVTOOLS_ROOT` qui sont des dépôts Git. **Réponse `200`** ```json { "repos": [{ "name": "string", "path": "string" }], "codeRoot": "string" } ``` ### `POST /repos-load` Vérifie qu’un dossier nommé existe sous la racine et est un dépôt Git. **Corps JSON** | Champ | Obligatoire | Description | |-------|-------------|-------------| | `name` | oui | Nom du dossier (sous `REPOS_DEVTOOLS_ROOT`) | **Réponses** - `200` : `{ "ok": true, "name", "path" }` - `404` : dossier absent - `400` : dossier présent mais pas un dépôt Git ### Autres chemins `404` JSON `{ "error": "Not found" }`. ## Variables d’environnement | Variable | Obligatoire | Description | |----------|-------------|-------------| | `REPOS_DEVTOOLS_TOKEN` | oui | Secret Bearer | | `REPOS_DEVTOOLS_ROOT` | non | Racine des clones (défaut `/home/ncantu/code`) | | `REPOS_DEVTOOLS_HOST` | non | Adresse d’écoute | | `REPOS_DEVTOOLS_PORT` | non | Port |