02

Arche

DevTools / Agents IA

RETOUR À LA LISTE

CLI auto-hébergé qui relie un ticket Jira à une merge request GitLab via un pipeline plan → exécution → revue avec validations humaines. Le code tourne dans des sandbox Docker par exécution ; les appels LLM passent par OpenRouter.

Contexte

Projet personnel / DevTools
~3 semaines (9 avr – 1er mai 2026)
Solo

Faire tourner une boucle planification → code → revue sur un ticket Jira sans dépendre d'un SaaS d'agents. Tout doit tourner sur un VPS que l'opérateur contrôle, avec isolation Docker autour de l'exécution du code et approbation humaine aux étapes importantes.

Mon rôle

Créateur solo

RESPONSABILITÉS

  • Architecture en 3 processus (CLI, serveur Fastify, worker Node) partageant une base SQLite via better-sqlite3 + Drizzle
  • Machine à états plan / exécution / revue avec cycles bornés, réessai automatique sur changements de relecteur, délais sur les approbations humaines
  • Cycle de vie de la sandbox Docker avec liste blanche de commandes tokenisées (pas d'échappement shell implicite)
  • Orchestration Jira + GitLab + GitHub avec authentification git distante
  • 18 fichiers vitest couvrant policy, sandbox, SQLite, lease/heartbeat, flux manual-run

LIVRABLES

v0.1.0 d'un orchestrateur auto-hébergé privé : CLI + API HTTP + worker + tableau de bord React, déployable sur un seul VPS

Résultats

  • Démontrable de bout en bout sur la machine de l'auteur : ticket Jira → branche + commits → merge request GitLab
  • Sandbox durcie par défaut : rootfs read-only, no_new_privileges, liste blanche de commandes tokenisées

ACCOMPLISSEMENTS

  • Liste blanche de commandes tokenisées (sans shell) qui empêche les échappements du type pnpm test && rm -rf /
  • Lease/heartbeat du worker pour la concurrence sûre sur SQLite partagé
  • Liaison réseau en refus par défaut : le serveur refuse de démarrer sur un hôte non-loopback sans ARCHE_SERVER_AUTH_TOKEN

Stack technique

TECHNOLOGIES

TypeScriptNode.jsFastifySQLiteDrizzle ORMDockerOpenRouterAgents IAJira APIGitLab APICLIViteAuto-hébergéAutomatisation DevOps

FONCTIONNALITÉS CLÉS

  • CLI avec assistant arche init, vérifications arche doctor, et arche runs manual <KEY> pour déclencher une exécution
  • API HTTP Fastify (~15 endpoints) protégée par jeton bearer, avec un webhook Jira en entrée
  • Tableau de bord web React 19 + daisyUI pour suivre les exécutions, approuver les plans, consulter diffs et logs
  • Sandbox Docker par exécution (rootfs read-only, cap_drop ALL, no_new_privileges, limites pids/mémoire/CPU) avec liste blanche de commandes tokenisées (pas de shell)
  • Machine à états plan / exécution / revue avec max_review_cycles borné et validations humaines
  • Profils d'exécution multi-modèles (planner / executor / reviewer) via OpenRouter

Galerie

Projet similaire en tête ?

Discutons de comment je peux vous aider

Projets connexes

PortfolioPortfolioPortfolioPortfolio

© 2026

Designé et développé par Vivien Gontier