1. Contexte et objectif
Problème : l’Exocortex repose sur des fichiers locaux dispersés entre ~/.claude/ et ~/Exocortex/. Changer de machine ou reinstaller Windows signifiait tout reconfigurer à la main : skills, agents, hooks, mémoire. Aucun script, aucune procédure documentée, tout en mémoire.
Ce guide documente :
- Pourquoi on a versé les skills dans le repo Exocortex (avant, ils étaient hors versioning)
- Comment le script
setup.shautomatise le bootstrap sur une nouvelle machine - Quels composants sont automatisés, lesquels restent manuels, et pourquoi
- Les avantages et les limites de cette approche
git clone et un bash setup.sh. Durée réelle : 10 minutes prérequis inclus.
2. Anatomie de l’Exocortex
L’Exocortex est composé de quatre couches distinctes, installées à des emplacements différents sur la machine :
Contexte métier
Qui vous êtes, vos projets, vos contraintes, vos objectifs. Lu à chaque session par l’IA via contexte.md.
~/Exocortex/
Skills métier (protocoles)
Les comportements spécialisés de l’Exocortex : audit, commercial, DSI/RSSI, compta, devops, handoff, etc. 16 skills au total.
~/.claude/skills/
Agents pentest
31 sous-agents Claude Code spécialisés : recon, web, Active Directory, cloud, mobile, forensics, reverse engineering, reporting.
~/.claude/agents/
Mémoire persistante
Ce que le copilote a appris au fil des sessions : feedbacks, préférences, références techniques, état des projets.
~/.claude/projects/.../memory/
Persona et règles (CLAUDE.md)
Le fichier lu en priorité par Claude Code. Définit le rôle de copilote, les règles de comportement, la langue, l’optimisation des tokens.
~/CLAUDE.md
Hooks et settings
Les automatismes : protection contre les suppressions critiques, rappel handoff en fin de session, analyse de session, modèle par défaut (Sonnet).
~/.claude/hooks/ & settings.json
3. Ce qui a été fait et pourquoi
3.1 Versioning des skills dans le repo Exocortex
Avant cette mise à jour, les 16 skills Gigarun n’étaient présents que dans ~/.claude/skills/ sur la machine principale. Ils n’étaient pas dans le repo Git de l’Exocortex.
Conséquence : cloner le repo sur une autre machine ne suffisait pas. Les skills (audit, commercial, DSI, compta, devops, handoff, lab-test, etc.) étaient absents.
Décision : copier ~/.claude/skills/ dans Exocortex/skills/ et les versionner. Tous les fichiers skills ont été vérifiés pour l’absence de données sensibles (clés API, mots de passe) avant commit. Un seul faux positif détecté : un placeholder sk-... dans la doc n8n, sans valeur réelle.
3.2 Installation des agents pentest (pentest-ai-agents)
Le repo 0xSteph/pentest-ai-agents fournit 31 sous-agents Claude Code spécialisés en sécurité offensive. Ils sont installés dans ~/.claude/agents/ via un script.
Pourquoi ce repo plutôt que d’autres :
- Zéro dépendance externe : juste des fichiers
.mdavec frontmatter YAML - Compatible Ollama via conversion OpenCode (
./opencode-setup.sh --full) - MIT, actif depuis mars 2026, déjà en v3.1.0
- Complémentaire à Strix (pentest applicatif autonome) — les deux ne se recoupent pas
- Script
install.shaudité : ne fait que copier des fichiers, aucune exécution réseau, idempotent
Les agents sont clonables depuis GitHub et ne sont pas versionnés dans l’Exocortex lui-même — le script setup.sh les télécharge automatiquement.
3.3 Création du script setup.sh
Le script Exocortex/setup.sh automatise l’intégralité du bootstrap en 6 étapes :
- Vérification des prérequis : git, Claude Code CLI
- Installation des skills depuis
Exocortex/skills/vers~/.claude/skills/(diff par répertoire, mise à jour uniquement si modifié) - Installation des agents pentest : clone du repo pentest-ai-agents +
install.sh --global - Installation du hook
auto-debug-log.pyvers~/.claude/hooks/ - Vérification du settings.json (création minimale si absent)
- Vérification de CLAUDE.md et de la mémoire persistante, avec avertissements ciblés si manquants
--dry-run pour simuler toutes les opérations sans rien modifier. Utile pour vérifier l’état d’une machine avant d’agir.
4. Structure du repo Exocortex après mise à jour
Ce qui n’est pas dans le repo (et pourquoi)
| Composant | Emplacement réel | Raison d’exclusion |
|---|---|---|
settings.local.json |
~/.claude/settings.local.json |
Contient des clés API (Mailjet, Brevo) — ne jamais versionner |
| Agents pentest | ~/.claude/agents/ |
Téléchargés depuis GitHub par setup.sh — maintenus séparément |
| Mémoire persistante | ~/.claude/projects/.../memory/ |
Spécifique à chaque machine, synchronisée via git Exocortex séparément |
| Historique de sessions | ~/.claude/projects/ |
Trop volumineux, local par définition |
| Cache, backups, sessions | ~/.claude/cache/ etc. |
Données temporaires machines-spécifiques |
5. Procédure de réinstallation complète
Suivez ces étapes dans l’ordre sur la nouvelle machine Windows.
Étape 1 — Prérequis
Étape 2 — Cloner l’Exocortex
Étape 3 — Copier CLAUDE.md à la racine de votre profil
CLAUDE.md doit se trouver dans C:\Users\[votre-nom]\ (racine du profil utilisateur), pas dans un sous-dossier. Claude Code le cherche dans le dossier courant et ses parents jusqu’à la racine.
Étape 4 — Lancer le bootstrap
Sortie attendue :
Étape 5 — Restaurer les éléments non automatisés
Depuis l’ancienne machine (ou OneDrive si synchronisé) :
- settings.local.json — copier dans
~/.claude/settings.local.json. Contient les hooks PreToolUse (protection dossiers critiques), le hook Stop (rappel handoff), les permissions avancées et les clés API nécessaires. - Mémoire — copier
~/.claude/projects/C--Users-[nom]/memory/depuis l’ancienne machine. Contient les 30+ fichiers de mémoire accumulés (feedbacks, références, projets). - ANTHROPIC_API_KEY — configurer la variable d’environnement dans le système Windows.
Étape 6 — Lancer Claude Code et vérifier
6. Le script setup.sh en détail
Le script est versionné dans Exocortex/setup.sh. Il est idempotent : on peut le relancer autant de fois qu’on veut sans risque. Il ne modifie que ce qui est absent ou obsolète.
Logique de mise à jour des skills
Pour chaque skill du repo, le script compare le répertoire source avec la destination via diff -rq. Il écrase uniquement si une différence existe. Cela permet de pousser une mise à jour d’un skill sur toutes les machines via un simple git pull + bash setup.sh.
Logique d’installation des agents pentest
Le script vérifie si ~/.claude/agents/ contient déjà des fichiers .md. Si oui, il considère les agents comme installés et saute cette étape. Si non, il clone pentest-ai-agents dans C:/tools/pentest-ai-agents et lance install.sh --global.
cd C:/tools/pentest-ai-agents && git pull && bash install.sh --global
Composants installés par le script
| Composant | Source | Destination | Comportement |
|---|---|---|---|
| 16 skills métier | Exocortex/skills/ |
~/.claude/skills/ |
Install ou mise à jour si diff |
| 31 agents pentest | GitHub pentest-ai-agents | ~/.claude/agents/ |
Clone + install si dossier vide |
| Hook auto-debug-log.py | Exocortex/scripts/ |
~/.claude/hooks/ |
Copie si absent |
| settings.json | Généré à la volée | ~/.claude/settings.json |
Création minimale si absent |
| CLAUDE.md | Exocortex/CLAUDE.md |
~/CLAUDE.md |
Copie si absent |
7. Avantages et inconvénients de ce paramétrage
✅ Avantages
- Une seule commande pour réinstaller l’essentiel de l’Exocortex sur une nouvelle machine
- Skills versionnés dans Git : un
git pull + setup.shpropage les mises à jour sur toutes les machines - Idempotent : on peut relancer
setup.shsans risque de casser quoi que ce soit - Dry-run : auditer ce qui sera fait avant d’agir
- Agents pentest séparés : maintenus indépendamment via leur propre repo, mise à jour en autonomie
- Aucun secret dans le repo :
settings.local.jsonest exclu, les clés API ne peuvent pas fuiter - Pas de dépendance cloud : tout est local après le clone initial
⚠ Inconvénients
- Mémoire non automatisée : les 30+ fichiers de mémoire restent à copier manuellement depuis l’ancienne machine
- settings.local.json non automatisé : les hooks avancés et permissions spécifiques doivent être recopiés manuellement (contient des clés API)
Skills dupliqués✅ Résolu par junction Windows :~/.claude/skills/est une junction qui pointe versExocortex/skills/. Un seul emplacement physique, zéro duplication — voir ci-dessous.- Agents pentest nécessitent Git : si la machine n’a pas accès à GitHub, l’étape 3 échoue
- Script Bash uniquement : ne fonctionne pas nativement dans PowerShell pur (nécessite Git Bash ou WSL)
Source unique pour les skills : la junction Windows
~/.claude/skills/ est une junction Windows (l’équivalent d’un lien symbolique de dossier) qui pointe directement vers Exocortex/skills/. Il n’existe qu’une seule copie physique des skills, dans le repo. Claude Code lit le lien de façon transparente.
Conséquence pratique : quand Claude Code crée ou modifie un skill, il écrit directement dans Exocortex/skills/. Il suffit ensuite de committer dans le repo pour propager la mise à jour sur toutes les machines.
La junction est créée automatiquement par setup.sh sur chaque nouvelle machine. Sur Linux/Mac (lors d’une utilisation éventuelle), le script crée un symlink classique via ln -s à la place.
8. Après le bootstrap : ce qu’il reste à faire
Le setup.sh installe le “squelette fonctionnel”. Pour avoir l’Exocortex à l’identique de la machine source, il reste trois opérations manuelles :
1. Restaurer settings.local.json
Ce fichier contient :
- Les hooks PreToolUse : protection contre les suppressions dans les dossiers critiques (Exocortex, Clients, OneDrive)
- Le hook Stop : rappel handoff en fin de session + analyse automatique de la session
- Les permissions avancées (
allow) pour les commandes courantes (SSH, ADB, PowerShell, etc.) - Des références à des clés API (Mailjet, Brevo) utilisées dans les checks de connectivité
Copier depuis l’ancienne machine vers ~/.claude/settings.local.json.
2. Restaurer la mémoire persistante
La mémoire se trouve dans ~/.claude/projects/C--Users-[nom]/memory/. Elle contient une quarantaine de fichiers .md structurés en quatre types :
- feedback_*.md : corrections apprises, comportements à éviter ou à conserver
- project_*.md : état des projets en cours (Vetilog, Intense Piscine, etc.)
- reference_*.md : références techniques (serveurs, accès, SMTP, etc.)
- user_*.md : profil de l’utilisateur appris par le copilote
Sans cette mémoire, le copilote repart de zéro et ne connaît plus les préférences, les projets en cours ni les références techniques accumulées.
3. Configurer ANTHROPIC_API_KEY
Claude Code a besoin de la clé API Anthropic pour fonctionner. La configurer dans les variables d’environnement système Windows (Système → Paramètres avancés → Variables d’environnement) ou dans le profil Git Bash.
claude, taper “Qui suis-je ?”. Si le copilote répond avec votre contexte (Thomas, Gigarun, La Réunion…), la mémoire est bien chargée. Si il répond de façon générique, la mémoire n’est pas restaurée.
9. Maintenir l’Exocortex à jour
Mettre à jour les skills sur toutes les machines
~/.claude/skills/ et Exocortex/skills/ sont le même dossier physique. Modifier un skill via Claude Code écrit directement dans le repo — pas de copie manuelle nécessaire.
- Modifier ou créer le skill via Claude Code (il écrit dans
Exocortex/skills/via la junction) - Committer et pusher :
cd ~/Exocortex && git add skills/ && git commit -m "update skill [nom]" && git push - Sur les autres machines :
git pull— la junction lit déjà le bon dossier, aucunsetup.shrequis
Mettre à jour les agents pentest
Ajouter un nouveau skill au repo
- Créer le skill via
/skill-creatordans Claude Code (il écrit dans~/.claude/skills/) cp -r ~/.claude/skills/[nouveau-skill] ~/Exocortex/skills/- Committer dans le repo Exocortex
- Le skill sera déployé sur les autres machines au prochain
git pull + setup.sh