Les assistants de programmation IA comme Claude Code, Codex ou OpenCode sont devenus de véritables collaborateurs pour les développeurs. Mais leur utilisation au quotidien présente encore quelques limites : perte de contexte entre les sessions, répétition des mêmes explications, difficulté à retrouver les décisions précédentes ou encore consommation inutile de tokens.
C’est précisément sur ces problématiques qu’intervient OpenWolf.
Bonne nouvelle : OpenWolf est un outil gratuit et open source, distribué sous licence AGPL-3.0. Son code source est disponible publiquement sur GitHub et chacun peut l’installer pour ses propres projets. La licence autorise également les usages commerciaux, sous réserve de respecter ses obligations, notamment celles relatives à la mise à disposition du code source dans certaines situations.
Son objectif est simple : fournir une mémoire persistante et des outils de gestion du contexte à vos assistants de développement IA. Il leur permet de retrouver plus facilement les informations importantes d’un projet, de conserver une trace du travail effectué et de reprendre une tâche sans repartir de zéro.
Dans ce tutoriel, nous allons découvrir OpenWolf, l’installer, comprendre son fonctionnement et voir comment l’exploiter efficacement, y compris lorsque vous travaillez sur plusieurs projets ou dépôts Git.
Lors de la rédaction de cet article openWolf est disponible en version 2.5.3
1. Qu’est-ce qu’OpenWolf ?
OpenWolf est une couche de mémoire et de gestion du contexte destinée aux agents de programmation IA.
Lorsqu’un développeur travaille avec Claude Code, Codex ou OpenCode, chaque session produit de nombreuses informations utiles :
- Les objectifs de la tâche en cours.
- Les fichiers modifiés et les fonctionnalités développées.
- Les décisions techniques prises.
- Les erreurs rencontrées et leurs corrections.
- Les tests exécutés et les éventuels problèmes restants.
- Les prochaines étapes du développement.
Le problème est que ces informations ne sont pas toujours facilement accessibles lors d’une nouvelle session. L’agent peut oublier une décision prise précédemment, relire plusieurs fois les mêmes fichiers ou demander au développeur de réexpliquer l’architecture du projet.
OpenWolf cherche à éviter ces répétitions en conservant une mémoire locale du projet.
Une mémoire partagée entre plusieurs agents
OpenWolf organise les informations dans un répertoire .wolf/, créé à la racine du projet.
Ce répertoire contient notamment :
- Un index de l’architecture et des fichiers du projet.
- Des notes sur les conventions et préférences techniques.
- Un état d’avancement du projet.
- Un historique des problèmes connus et de leurs corrections.
- Des informations permettant de reprendre une tâche.
- Des données de suivi de l’utilisation des agents.
L’intérêt est de ne pas dépendre exclusivement de l’historique conversationnel d’un assistant. Les informations utiles sont conservées dans des fichiers locaux et peuvent être exploitées par plusieurs agents compatibles.
Quels agents sont compatibles ?
OpenWolf propose plusieurs niveaux d’intégration :
| Agent | Intégration |
|---|---|
| Claude Code | Hooks et fonctionnalités avancées |
| Codex CLI | Hooks de projet et instructions AGENTS.md |
| OpenCode | Plugin natif et instructions de projet |
| Grok Build | Hooks compatibles avec ceux de Claude |
| Cursor | Instructions de projet |
| Gemini CLI | Instructions de projet |
| Antigravity | Instructions de projet |
Attention : toutes les intégrations ne disposent pas des mêmes fonctionnalités. Claude Code, Codex et OpenCode bénéficient des intégrations les plus poussées. Pour certains autres agents, OpenWolf fournit essentiellement du contexte et des instructions, sans disposer de l’ensemble des mécanismes de suivi.
2. Installation et configuration d’OpenWolf
OpenWolf nécessite Node.js 20 ou une version ultérieure. Il fonctionne sous Windows, macOS et Linux.
L’installation s’effectue simplement avec npm.
Étape 1 : installer OpenWolf
Ouvrez un terminal et exécutez :
npm install -g openwolf
Cette commande installe OpenWolf globalement afin de rendre sa commande disponible depuis vos différents projets.
Étape 2 : initialiser votre projet
Placez-vous ensuite à la racine de votre projet :
cd mon-projet
Puis lancez l’initialisation :
openwolf init
OpenWolf détecte les agents de développement présents et configure les intégrations correspondantes.
Vous pouvez également sélectionner explicitement les agents à configurer :
openwolf init --agent claude codex opencode
L’outil crée alors le répertoire .wolf/, initialise les fichiers de mémoire et réalise un premier index du projet.
Selon l’agent utilisé, certaines autorisations ou validations de confiance peuvent être demandées. Il est important de les examiner avant de les accepter.
Étape 3 : vérifier l’installation
Pour vérifier que l’installation est opérationnelle, plusieurs commandes sont disponibles :
openwolf --version
openwolf status
openwolf operations doctor
Elles permettent notamment de contrôler la version installée, l’état des intégrations et les éventuels problèmes de configuration.
Après l’installation, démarrez une nouvelle session avec votre agent de développement.
3. Comprendre les principales fonctionnalités
OpenWolf ne se limite pas à enregistrer des notes. Il propose plusieurs mécanismes destinés à améliorer la continuité du travail et à limiter les opérations répétitives.
L’index du projet
OpenWolf construit une représentation du projet afin de faciliter la recherche de fichiers et de symboles.
Cet index permet à l’agent de mieux comprendre où se trouvent les éléments importants du code, quelles sont leurs relations et quels fichiers sont susceptibles d’être concernés par une tâche.
Pour actualiser l’index :
openwolf scan
Pour rechercher un symbole :
openwolf find validateToken
Pour obtenir des informations sur un fichier précis :
openwolf find --file src/auth.ts
Vous pouvez également demander une vue synthétique du projet :
openwolf map
Ou concentrer cette vue sur un domaine particulier :
openwolf map --focus auth
Ces commandes sont particulièrement utiles sur les projets volumineux, où retrouver rapidement les bons fichiers peut représenter une part importante du travail.
La mémoire persistante
OpenWolf conserve différentes catégories d’informations dans .wolf/.
Quelques fichiers importants :
| Fichier | Rôle |
|---|---|
anatomy-index.json | Index technique du projet |
anatomy.md | Vue lisible de l’architecture |
memory.md | Notes et observations des sessions |
STATUS.md | État d’avancement et prochaines étapes |
cerebrum.md | Conventions et préférences du projet |
buglog.json | Problèmes connus et corrections |
token-ledger.json | Suivi des données d’utilisation |
L’agent peut ainsi retrouver des informations utiles sans devoir relire systématiquement l’intégralité de l’historique des conversations.
Il faut néanmoins garder à l’esprit qu’OpenWolf ne devine pas automatiquement toutes les décisions prises pendant une session. La qualité de la mémoire dépend notamment des informations effectivement enregistrées.
Les checkpoints et la reprise du travail
Une autre fonctionnalité intéressante concerne la reprise des tâches.
Un checkpoint permet de conserver des informations comme :
- L’objectif initial.
- Les travaux déjà réalisés.
- Les problèmes encore ouverts.
- Les fichiers concernés.
- La prochaine action à effectuer.
OpenWolf propose également des mécanismes de transfert de contexte entre Claude et Codex.
L’intérêt est de pouvoir commencer un travail avec un agent et transmettre les informations utiles à un autre, sans devoir tout réexpliquer.
Il ne s’agit toutefois pas d’un transfert intégral et automatique de toutes les conversations. OpenWolf transmet des éléments de contexte sélectionnés et enregistrés.
La gestion des tokens
OpenWolf propose également un suivi de l’utilisation des agents.
Il peut récupérer les compteurs disponibles dans les traces des différents environnements, notamment pour Claude, Codex et OpenCode.
Il permet ainsi de consulter des informations sur :
- Les tokens d’entrée.
- Les tokens de sortie.
- Les tokens mis en cache, lorsqu’ils sont disponibles.
- Les modèles utilisés.
- Les estimations de coûts API.
Pour consulter un rapport d’utilisation :
openwolf usage report --json
Il faut cependant distinguer les données réellement remontées par les agents des estimations calculées localement. Les informations disponibles dépendent de chaque environnement et peuvent être incomplètes.
Les estimations de coûts correspondent à des prix API de référence : elles ne représentent pas nécessairement le montant facturé dans le cadre d’un abonnement.
4. Le tableau de bord OpenWolf
OpenWolf dispose d’un tableau de bord permettant de visualiser les informations enregistrées pour un projet.
Pour le lancer :
openwolf dashboard
Le tableau de bord donne notamment accès à :
- La mémoire du projet.
- L’index des fichiers et du code.
- Les informations de reprise des tâches.
- L’historique des activités OpenWolf.
- Les données d’utilisation des agents.
- L’état de santé des intégrations.
Il permet de suivre les opérations effectuées et de vérifier que les mécanismes de mémoire et de suivi fonctionnent correctement.
Le tableau de bord est destiné à un usage local. Par défaut, il écoute sur 127.0.0.1 et nécessite un jeton de projet. Il ne faut donc pas considérer cette interface comme un service web public prêt à être exposé sur Internet.
5. Travailler sur plusieurs projets et plusieurs dépôts Git
C’est probablement l’un des cas d’usage les plus intéressants d’OpenWolf pour les développeurs qui interviennent sur plusieurs applications.
Dans un environnement professionnel, il est fréquent de travailler simultanément sur plusieurs projets :
- Une API Symfony.
- Une application React ou Vue.js.
- Un service d’authentification.
- Une application mobile.
- Plusieurs bibliothèques partagées.
- Des dépôts contenant des composants techniques communs.
Sans mécanisme de mémoire, chaque projet nécessite de réexpliquer son architecture et ses conventions à l’agent IA. Et lorsque plusieurs dépôts interviennent dans une même fonctionnalité, la difficulté augmente encore.
Une mémoire indépendante par projet
OpenWolf organise sa mémoire au niveau de chaque projet.
Concrètement, chaque dépôt peut disposer de son propre répertoire .wolf/.
Par exemple :
workspace/
├── api-symfony/
│ ├── .wolf/
│ ├── src/
│ └── composer.json
│
├── frontend-react/
│ ├── .wolf/
│ ├── src/
│ └── package.json
│
└── service-auth/
├── .wolf/
├── src/
└── package.json
Chaque projet conserve ainsi ses propres informations :
- Son architecture.
- Ses conventions.
- Ses problèmes connus.
- Ses décisions techniques.
- Son historique de développement.
Cette séparation évite de mélanger les contextes de projets qui n’ont pas nécessairement les mêmes technologies ou les mêmes règles.
Travailler sur plusieurs dépôts pour une même fonctionnalité
Imaginons que vous développiez une fonctionnalité nécessitant des modifications dans trois dépôts :
- Une API Symfony pour exposer de nouvelles données.
- Un frontend React pour afficher ces données.
- Un service d’authentification pour gérer les autorisations.
Vous pouvez initialiser OpenWolf indépendamment dans chacun de ces dépôts.
L’agent dispose alors d’une mémoire propre à chaque environnement. Il peut retrouver les informations techniques associées au dépôt sur lequel il travaille.
Pour autant, il ne faut pas confondre cette organisation avec une mémoire globale automatiquement partagée entre tous les dépôts. Les répertoires .wolf/ restent indépendants.
Pour conserver une cohérence entre plusieurs projets, il est donc pertinent de documenter les conventions transverses et les dépendances entre dépôts, puis de les rendre accessibles aux agents concernés.
Le transfert de contexte entre agents
OpenWolf propose aussi des mécanismes de handover entre Claude et Codex.
Ils permettent de transférer des éléments de contexte enregistrés, comme les objectifs, les modifications effectuées et les prochaines étapes.
C’est particulièrement utile lorsqu’un développeur utilise différents assistants selon les tâches : par exemple Claude Code pour une évolution fonctionnelle et Codex pour une autre phase du développement.
Ce transfert reste néanmoins basé sur des informations sauvegardées et sélectionnées. Il ne garantit pas une synchronisation complète et automatique de toutes les sessions ou de tous les dépôts.
6. Sécurité et confidentialité : quelles données OpenWolf transmet-il ?
La confidentialité est une question essentielle lorsqu’on utilise un assistant IA sur un projet professionnel. Le code source peut contenir des informations sensibles : règles métier, architecture applicative, données de configuration ou encore éléments relatifs à l’infrastructure.
OpenWolf adopte une approche locale : les données de mémoire et les traitements associés restent sur la machine du développeur.
OpenWolf transmet-il des données à ses serveurs ?
Selon le dépôt GitHub et la documentation officielle, OpenWolf ne dispose pas d’un service cloud chargé de centraliser les informations des projets.
Son fonctionnement repose sur plusieurs principes :
- Tableau de bord local : l’interface est accessible depuis la machine du développeur et protégée par un jeton d’accès.nt pas devenir automatiquement des instructions autorisées à exécuter des opérations sensibles.
- Pas de télémétrie : OpenWolf ne collecte pas de statistiques d’utilisation pour les transmettre à son éditeur.
- Pas d’appels à un modèle IA : la création et la maintenance de la mémoire ne nécessitent pas de solliciter un modèle distant.
- Stockage local : les informations du projet sont enregistrées dans le répertoire
.wolf/. - Traitement local : l’indexation, les recherches et le suivi des activités sont réalisés sur la machine.
7. Les principales commandes à connaître
Voici un récapitulatif des commandes les plus utiles au quotidien.
| Commande | Fonction |
|---|---|
openwolf init | Initialise OpenWolf dans un projet |
openwolf status | Vérifie l’état de l’installation |
openwolf operations doctor | Diagnostique les problèmes opérationnels |
openwolf scan | Actualise l’index du projet |
openwolf find <query> | Recherche un fichier ou un symbole |
openwolf map | Affiche une vue synthétique du projet |
openwolf report | Consulte les informations opérationnelles |
openwolf usage report --json | Produit un rapport d’utilisation |
openwolf handoff list | Liste les sessions disponibles pour le transfert |
openwolf handoff search <query> | Recherche dans les éléments de contexte sauvegardés |
openwolf memory archive | Archive les anciennes notes éligibles |
openwolf dashboard | Lance le tableau de bord |
openwolf update | Met à jour les projets enregistrés |
openwolf self-update | Vérifie les mises à jour du runtime |
openwolf restore | Consulte les sauvegardes disponibles |
Pour connaître les options précises d’une commande, vous pouvez également consulter la documentation officielle.
Conclusion : une mémoire utile pour les développeurs augmentés
OpenWolf répond à un problème concret de l’utilisation quotidienne des assistants de programmation : la perte de contexte et la répétition des mêmes opérations d’une session à l’autre.
En ajoutant une mémoire persistante, un index technique, des mécanismes de reprise et un suivi de l’utilisation, il apporte une couche complémentaire aux outils comme Claude Code, Codex ou OpenCode.
Son fonctionnement local, sans appels supplémentaires à des modèles IA pour la maintenance de la mémoire et de l’index, constitue également un point intéressant.
OpenWolf ne remplace évidemment pas votre assistant IA et ne garantit pas à lui seul une réduction mesurable de votre consommation de tokens. Il fournit plutôt un environnement de travail mieux structuré, dans lequel les agents peuvent retrouver plus facilement les informations utiles.
Pour les développeurs qui travaillent sur plusieurs projets ou plusieurs dépôts, c’est une piste intéressante à explorer.
OpenWolf est disponible gratuitement sur GitHub :
Site officiel : https://openwolf.com/
Documentation : https://openwolf.com/getting-started
Licence : AGPL-3.0.