Elio Darras
ExpérimentalExpérimental, non abouti

The Forge

Orchestrateur d'agents IA

the-forge — python
Rejeu · extrait reconstitué
Extrait reconstitué d'une exécution, rejoué dans un terminal simulé. Pas une capture réelle.

Rôle

Projet expérimental

Une usine à logiciels 100 % locale : des modèles qui tournent sur la carte graphique via Ollama imaginent une application, la planifient en 320 tickets, l'écrivent fichier par fichier avec Aider, la vérifient en TypeScript et la publient sur GitHub, avec une mémoire partagée d'un run à l'autre. Expérimental et non abouti : présenté pour la démarche, pas pour le résultat.

Ce qu'il y a dedans

  • Deux agents CrewAI conçoivent : concept et arbre de 80 à 120 fichiers.
  • 320 tickets planifiés en 14 lots, sprint par sprint avec Aider.
  • Contrôle TypeScript et cycle d'auto-réparation, publication GitHub, notifications Telegram.
  • Mode maintenance autonome et mémoire partagée entre runs.

En détail

01L'idée

Une usine à logiciels entièrement autonome et 100 % locale. Lancée sur un PC Linux dédié, une chaîne d'IA qui tournent toutes sur la carte graphique via Ollama, sans API payante, invente une application, la conçoit, la planifie, écrit son code fichier par fichier, la vérifie, la répare, puis la publie sur GitHub, avec une notification Telegram à chaque étape. Elle peut produire des projets en boucle, ou faire évoluer les projets existants.

En résumé : CrewAI imagine, Ollama planifie, Aider construit, TypeScript contrôle, GitHub archive, Telegram tient au courant, et un service systemd fait tourner l'usine dès que le PC s'allume.

02La chaîne de production

Phase 1 : deux agents CrewAI discutent en séquence sur un modèle local, qwen2.5-coder 14B par défaut. L'Idéateur choisit un SaaS web ou une app mobile et produit des specs massives : nom, 12 à 18 fonctionnalités, 15 user stories, 8 à 12 entités, 25 à 35 endpoints. L'Architecte en tire l'arbre complet de 80 à 120 fichiers, avec pour chacun son chemin, son rôle et ses imports.

Le planificateur génère ensuite 320 tickets de développement répartis en 14 lots thématiques dans l'ordre d'un vrai projet : configuration, types, utilitaires, services, stores, hooks, composants de base puis avancés, composants métier, écrans, navigation, styles, tests et documentation. Chaque ticket est un appel individuel à Ollama en JSON forcé, sauvegardé au fil de l'eau pour qu'un lot raté ne fasse pas tout perdre.

Phase 2 : Aider exécute les 320 sprints un par un dans un dépôt git initialisé pour le projet, avec la mémoire partagée préfixée à chaque ticket, le fichier cible pré-créé, trente minutes maximum par sprint. Dès qu'un package.json apparaît, npm install se lance ; puis la compilation TypeScript est vérifiée et, en cas d'erreurs, un cycle d'auto-réparation renvoie les erreurs à Aider.

Phase 3 : un dépôt privé est créé sur GitHub, tout est commité par « The Forge Bot », et Telegram annonce que le projet est en ligne.

03Mémoire, maintenance, état

Un fichier texte de mémoire partagée est injecté dans la conception, dans chaque ticket de planification, dans chaque sprint et dans le mode maintenance : on peut y écrire ses directives à la main, et l'usine y consigne ses leçons d'un run à l'autre.

Le mode maintenance confie un projet existant à Open Interpreter en exécution automatique : analyser le code, lancer le serveur, réparer, ajouter des fonctionnalités, puis écrire ce qu'il a appris dans la mémoire. C'est pour ça que la machine dédiée et isolée est la bonne approche : ce mode manipule réellement le système.

Autour : un diagnostic pré-vol, un script d'installation en une commande, un service systemd qui relance la boucle au démarrage, et quatre outils CrewAI prêts mais pas encore branchés. Expérimental et non abouti : présenté pour la démarche, pas pour le résultat.