Aller au contenu
English

L’orchestration des agents, en TypeScript

Vos agents.Un workflow TypeScript.

Un brief devient du code, des commits et un résultat à vérifier. Choisissez l’agent et sa sandbox. Reliez les tâches, les tests et les décisions dans le code de votre projet.

npm install @elie-laloum/outpost

Node.js 24+ · Git · Docker pour l’exemple ci-dessous

Exemple de workflow

Du brief au commit, un parcours explicite.

  1. VousDéfinir le travailUn dépôt, un brief et une branche pour la tâche.
  2. AgentLancer votre agentCodex, Claude Code ou un autre agent dans la sandbox choisie.
  3. WorkflowExécuter vos testsVos critères décident de la suite : corriger, poursuivre ou arrêter.
  4. VousRelire les commitsVous choisissez les changements à intégrer.
Une branche pour votre revueoutpost/fix-testsLe correctif et ses commits, prêts à être relus.Construire ce workflow

Une tâche pour commencer. Un workflow pour la suite.

Section intitulée « Une tâche pour commencer. Un workflow pour la suite. »

Confiez un correctif à Codex dans sa sandbox Docker et son espace de travail Git. Votre checkout courant reste disponible pendant que l’agent travaille. La branche nommée conserve les commits à relire ; cet appel ne les intègre pas.

Enregistrez ces deux fichiers dans votre dépôt et lancez node task.ts. Le reporter affiche la progression et la consommation de tokens ; result conserve la réponse et les commits pour votre code. Choisissez un nouveau nom de branche pour chaque tâche. Demander à l’agent de lancer les tests est une consigne ; la boucle de vérification ajoute le contrôle qui décide si le travail est accepté.

Votre première tâche explique le résultat. Votre premier workflow montre ensuite comment relier cette tâche à la suivante.

import { createAgent, createCodexHarness } from "@elie-laloum/outpost";
import { createDockerSandboxProvider } from "@elie-laloum/outpost/providers/docker";

export const coder = createAgent({
  harness: createCodexHarness({ authentication: "account" }),
});
export const sandboxProvider = createDockerSandboxProvider({
  image: "outpost:dev",
});
export const repository = process.cwd();
import { createReporter, dispatch } from "@elie-laloum/outpost";
import { coder, repository, sandboxProvider } from "./outpost.config.ts";

const result = await dispatch({
  repository,
  sandboxProvider,
  agent: coder,
  observe: createReporter(),
  branch: { mode: "named", name: "outpost/fix-tests" },
  brief: { text: "Fix the failing tests, run them and commit the fix." },
});

// Example output:
// [outpost · pass 1] running · codex
// Fixed the failing tests and committed the change.
// [outpost · pass 1] finished · 12.00s · status 0 · input 1200 · cache read 0 · cache write 0 · output 320

Un ticket demande un export CSV de la liste des commandes. Un agent prépare le plan : fichiers à modifier, format et cas limites. Un autre écrit le code et les tests. Les tests et la revue par un second agent tournent en parallèle, puis leurs résultats sont réunis. Si un contrôle échoue, ses retours repartent vers l’agent qui code, dans la limite de trois essais. Quand les deux contrôles acceptent le travail, le mainteneur valide la livraison.

Glissez pour vous déplacer · Ctrl + molette pour zoomer
100 %
  • Ticket export CSVExporter les commandes filtrées, avec leurs dates et leurs montants. (Mainteneur)
    • → Préparer le plan : brief
  • Préparer le planIdentifier les fichiers, le format CSV et les cas limites à couvrir. (Agents)
    • → Implémenter l’export : plan validé
  • Implémenter l’exportÉcrire le code et les tests dans un espace Git dédié. (Agents)
    • → Exécuter les tests : en parallèle
    • → Relire le diff : en parallèle
  • Exécuter les testsLancer npm test ; récupérer le code de sortie et les erreurs. (Contrôles)
    • → Réunir les verdicts : résultat des tests
  • Relire le diffUn second agent vérifie le format CSV et renvoie un verdict structuré. (Agents)
    • → Réunir les verdicts : résultat de la revue
  • Réunir les verdictsAttendre les deux contrôles ; accepter ou renvoyer leurs retours. (Contrôles)
    • → Implémenter l’export : corrections · 3 essais maximum
    • → Valider la livraison : tests et revue acceptés
    • → Arrêter le run : essais épuisés
  • Valider la livraisonMettre en pause pour laisser le mainteneur examiner les changements. (Mainteneur)
    • → Préparer la branche : approuvé
    • → Arrêter le run : refusé
  • Préparer la brancheCommiter le travail accepté sur outpost/csv-export pour l’intégration. (Contrôles)
  • Arrêter le runConserver l’espace de travail et les retours pour examiner le problème. (Contrôles)

Les dépendances réunissent tests et revue avant le verdict. La boucle de correction réutilise l’espace de travail ; la validation humaine enregistre sa décision en attente dans un checkpoint. Chaque flèche représente une étape contrôlée par votre code TypeScript.

Vos outils habituels. Votre façon de les assembler.

Section intitulée « Vos outils habituels. Votre façon de les assembler. »

Utilisez Codex pour une tâche, Claude Code pour une autre, ou votre propre boucle d’agent. Choisissez l’environnement d’exécution indépendamment. Votre workflow reste du TypeScript que vous pouvez lire, versionner et faire évoluer avec votre projet.

Ce que vous pouvez construire avec Outpost

Choisissez vos agents, coordonnez leurs tâches et conservez les résultats pour la suite. Chaque fonctionnalité dispose de son guide.