numa.

Démo

Un dépôt, des tests qui échouent, un terminal en bac à sable : corrigez vous-même ou lancez Claude Code, Codex ou OpenCode.

Année
2026
Outils
Claude Code, Codex, OpenCode, Bac à sable
Exécution
Dans votre navigateur, sans appel à un modèle

Chargement de la démonstration…

En bref

Un petit dépôt de facturation arrive avec des tests qui échouent. Corrigez le code vous-même, tapez npm test, ou confiez la tâche à Claude Code, Codex ou OpenCode et suivez chaque étape. Les commandes et les tests s'exécutent vraiment dans votre navigateur, sans réseau.

Ce qu'on y voit

Un dépôt, des tests qui échouent, un terminal en bac à sable : corrigez vous-même ou lancez Claude Code, Codex ou OpenCode.

L'idée

Le meilleur moyen de comprendre un agent de code est de lui donner un vrai dépôt qui casse, et de pouvoir le réparer soi-même avant lui.

La fabrication

Système de fichiers virtuel, interpréteur de commandes, tests exécutés pour de vrai dans un bac à sable, agent qui lit, édite et relance les mêmes tests.

Sous le capot

5 points d'implémentation

Pile

  • TypeScript strict
  • React
  • Web Worker
  • Interpréteur de commandes
  • Bac à sable

Fichiers

  • lib/sim/terminal.ts
  • lib/sim/terminal.check.ts
  • components/demos/Terminal.tsx
  • components/demos/Terminal.module.css

Implémentation

  • Un système de fichiers virtuel est une simple table chemin → contenu ; cd, ls, cat, tree, pwd, git diff, git status, npm test et claude/codex/opencode sont interprétés localement.
  • Les tests sont exécutés pour de vrai : le runner est évalué dans un Web Worker neuf à chaque exécution, avec un délai maximal de 2 secondes ; les API réseau et le DOM sont retirés du contexte.
  • Le code testé reçoit les globales réseau en paramètres `undefined` ; les modules ne peuvent être chargés que depuis le dépôt virtuel, sans paquet externe.
  • L'éditeur et l'agent partagent la même table de fichiers ; git diff compare au dépôt initial, et une modification de l'un est immédiatement visible par l'autre.
  • L'agent est un générateur asynchrone qui rend des étapes typées (lecture, recherche, plan, édition, test, accord) ; une étape « accord » suspend la boucle jusqu'à la réponse humaine, et Échap interrompt l'exécution.
Travail suivantLe constructeur →Assemblez un flux : déclencheur, agent, outils, validation, action.