_ __ __
(_)_ _______/ /_ _________ ____/ /__
/ / / / / ___/ __/ / ___/ __ \/ __ / _ \
/ / /_/ (__ ) /_ / /__/ /_/ / /_/ / __/
__/ /\__,_/____/\__/ \___/\____/\__,_/\___/
/___/
Un environnement OpenCode isolé dans une microVM Microsandbox, piloté par le TUI dans l'invité par défaut ou par le TUI hôte en mode backend explicite.
Par défaut, l'agent et son TUI tournent dans la microVM Microsandbox avec les modèles souverains d'Albert API. Le mode backend, Tart et agent-vm restent des choix explicites.
full (défaut) : terminal hôte ──> TUI OpenCode dans l'invité
/workspace = volume invité, fichiers transférés par filtre
aucun port serveur OpenCode hôte (4096)
backend (explicite) : TUI hôte ──> 127.0.0.1:4096 ──> opencode serve dans l'invité
previews invitées : 127.0.0.1:3000-3010
Ce n'est pas un produit : c'est un terrain de jeu pour mesurer l'UX (latence, reconnexion, persistance de session, previews web) et comparer les frontières d'isolation.
Sur macOS ou Linux :
curl -fsSL https://raw.githubusercontent.com/etalab-ia/just-code/main/scripts/install.sh | shDans PowerShell sous Windows :
irm https://raw.githubusercontent.com/etalab-ia/just-code/main/scripts/install.ps1 | iexL'installateur choisit une seule release stable, télécharge le binaire et SHA256SUMS depuis cette même release, puis compare l'empreinte avant de remplacer l'installation. L'assistant just-code setup est lancé après l'installation.
Prérequis : OpenCode CLI sur l'hôte (npm install -g opencode-ai) et une clé Albert API. Le runtime Microsandbox est téléchargé et vérifié automatiquement au premier démarrage.
Binaires par plateforme, installation manuelle, vérification, compilation depuis les sources : docs/installation.md.
Pour un premier lancement, exporte la clé Albert API dans ton terminal.
macOS / Linux :
export ALBERT_API_KEY="ta-clé"
just-codeWindows (PowerShell) :
$env:ALBERT_API_KEY = "ta-clé"
just-codejust-code sans argument utilise Microsandbox en isolation full : l'agent, sa TUI et ses identifiants tournent dans la microVM, dont l'espace de travail est scellé (aucun fichier de l'hôte n'y est monté). --tart et --agent-vm restent disponibles explicitement, par flag ou via RUNTIME.
La commande prépare l'espace de travail de l'invité, démarre l'agent et attache la TUI OpenCode native. Le premier démarrage d'un sandbox Microsandbox installe ~384 Mio de paquets dans la microVM et peut dépasser largement une minute ; les démarrages suivants sont rapides.
Pour rendre la clé persistante et enregistrer le runtime, le workspace ou d'autres réglages, consulte la page Configuration.
Une fois attaché, ces prompts exercent les dimensions clés de l'expérience :
- « Qu'y a-t-il dans ce workspace ? Décris la structure du projet. » — inférence et outils fichiers de base.
- « Sur quel OS, noyau et architecture tournes-tu ? » — confirme que l'agent s'exécute dans le sandbox Linux, pas directement sur ton Mac.
- « Code un petit jeu snake servi par un serveur Node sur le port 3000, puis lance-le. » — écriture de fichiers + serveur de dev ; ouvre
http://localhost:3000pour vérifier la preview.
Quatre autres prompts (toolchain polyglotte, édition et revue de diff, continuité de session, scratch space) : docs/quickstart.md.
| Page | Contenu |
|---|---|
| Installation | Binaires, installateurs, vérification, dépendances de l'hôte, compilation depuis les sources |
| Démarrage rapide | Premier lancement et prompts d'exemple complets |
| Configuration | Assistant setup, variables d'environnement, fichiers gérés, redirections de ports par projet, skills, MCP, modèle OpenCode |
| Identifiants et secrets | Magasin d'identifiants, résolution de la clé Albert, protection par runtime, GitHub dans l'invité |
| Sécurité du workspace | Workspace scellé, filtre de transfert, export des changements |
| Utilisation | Commandes, instances par projet, niveaux d'isolation, répertoire de travail |
| Runtime Microsandbox | Téléchargement vérifié, mode manuel (MSB_PATH), prérequis plateforme |
| Runtime Tart | Réseau et MTU, images et nommage des VM |
| Runtime agent-vm | VM Lima persistante, template de base |
| Dépannage | Backend jamais healthy, conteneur Docker hérité |
| Choix de conception | Décisions structurantes et documents de décision |
| Développement | Architecture interne, hooks pre-commit, CI et publication |
| Qualification bêta | Protocole de test manuel de la version bêta |
L'architecture du portage Go, les hooks pre-commit (gitleaks) et le pipeline d'intégration continue et de publication (release-please) sont documentés dans docs/development.md. La résolution typée de la configuration (sources, précédence, schémas des fichiers gérés, transition depuis .env) est documentée dans docs/config.md.
just code · département IA dans l'État (IAE), DINUM · Licence MIT