smart_ide/docs/API/repos-devtools-server.md
Nicolas Cantu 088eab84b7 Platform docs, services, ia_dev submodule, smart_ide project config
- Add ia_dev submodule (projects/smart_ide on forge 4nk)
- Document APIs, orchestrator, gateway, local-office, rollout
- Add systemd/scripts layout; relocate setup scripts
- Remove obsolete nginx/enso-only docs from this repo scope
2026-04-03 16:07:58 +02:00

2.2 KiB
Raw Blame History

API — repos-devtools-server

Service Node (HTTP brut) : opérations Git limitées sous une racine configurable.

Authentification

Toutes les routes exigent :

Authorization: Bearer <REPOS_DEVTOOLS_TOKEN>

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 na 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

{
  "repos": [{ "name": "string", "path": "string" }],
  "codeRoot": "string"
}

POST /repos-load

Vérifie quun 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 denvironnement

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