01
RETOUR À LA LISTEArche
DevTools / AI Agents
Orchestrateur d'agents de développement self-hosted qui automatise les tickets Jira de bout en bout (plan, exécution, review) en merge requests GitLab, dans des sandbox Docker isolées
Contexte
Projet personnel / DevTools
1 mois
Solo
Automatiser le cycle complet d'un ticket Jira (de la planification à la merge request) sans dépendre d'un SaaS d'agents : tout doit tourner sur une VM ou un VPS, avec un sandboxing Docker strict et une approbation humaine à chaque étape critique.
Mon rôle
Architecte & Développeur
RESPONSABILITÉS
- —Architecture en 3 process découplés (CLI, server Fastify, worker) avec état partagé en SQLite/Drizzle
- —Pipeline plan, exécution, review avec profils multi-modèles via OpenRouter
- —Sandbox Docker hardenée pour exécuter le code généré (read-only rootfs, cap_drop ALL, limites cpu/pids/mémoire)
- —Webhook Jira + intégration GitLab pour merge requests automatiques, routing repo par règle
- —CLI ergonomique (Commander + Clack) avec wizard `init`, `doctor` et dashboard terminal live
LIVRABLES
Plateforme self-hosted complète : CLI, API HTTP, worker, dashboard, installation en une commande `arche init`
Résultats
- ✓Pipeline bout-en-bout fonctionnel : ticket Jira, branche + commits, merge request GitLab
- ✓Sandbox Docker durci par défaut plutôt qu'optionnel (read-only rootfs, no_new_privileges, allowlist de commandes)
- ✓Déploiement VM/VPS standard ou Docker Compose, sans dépendance à un SaaS d'agents
ACCOMPLISSEMENTS
- •Architecture 3-tiers (CLI + server + worker) avec SQLite partagé et locks pour gérer la concurrence
- •Approbations humaines explicites pour le plan et la publication de MR, avec cycles de review bornés
Stack technique
TECHNOLOGIES
TypeScriptNode.jsFastifySQLiteDrizzle ORMDockerOpenRouterAI AgentsJira APIGitLab APICLIViteSelf-hostedDevOps Automation
FONCTIONNALITÉS CLÉS
- —CLI `arche` complète (init, doctor, runs, repositories, profiles, serve, worker, dashboard)
- —Workflow plan, exécution, review avec cycles bornés et approbations humaines
- —Webhook Jira déclenchant un run, merge request GitLab générée automatiquement
- —Sandbox Docker durci par défaut (read-only rootfs, cap_drop ALL, no_new_privileges, limites cpu/mémoire/pids)
- —Server Fastify + worker Node séparés, état persistant en SQLite via Drizzle ORM
- —Profils d'exécution multi-modèles (planner / executor / reviewer) via OpenRouter
- —Dashboard terminal live pour superviser workers et runs en temps réel
- —Allowlist de commandes tokenisées dans `orchestrator.yml`, routing repo par projet/label/type
Galerie





Projet similaire en tête ?
Discutons de comment je peux vous aider