💾Sauvegarde de la mémoire
Vos fichiers CLAUDE.md et memory.md sont la partie la plus précieuse de l'installation : des mois de décisions, de préférences et de contexte. La sauvegarde les envoie chaque jour vers un dépôt GitHub privé, avec l'historique complet.
Ce qui est sauvegardé
Uniquement une liste blanche, relative à l'espace de travail :
- toujours : tous les fichiers
CLAUDE.mdetmemory.md, ainsi queCUSTOMIZATIONS.mdetcustomizations/*.patch(vos modifications du code du produit, voir Personnalisation) ; - par défaut, aussi :
**/NOTES.md,tasks.json,projects/*/topics/*/accounts.md(l'inventaire des abonnements, conservé dansgeneral/inbox),extensions/**,.claude/skills/**(modifiable dans Paramètres -> Sauvegarde) ; - ainsi que les réglages non secrets (fuseau horaire, langue, modèle par défaut, disposition du tableau de bord...) et vos
tâches planifiées, dans un dossier
_maxxing/.
Jamais sauvegardés, même si un motif correspond : secrets.json, les clés, les fichiers .env, les clés privées,
les identifiants, les journaux, attachments/, .git, node_modules, les environnements virtuels, et les fichiers de plus de 5 Mo.
Contrôles de sécurité
- Détecteur de secrets : avant chaque commit, chaque fichier est analysé pour repérer de vrais formats de secrets
(clés de type Anthropic et OpenAI, jetons GitHub, jetons Slack, clés AWS, jetons de bot Telegram,
jetons Shopify, clés Stripe et secrets de webhook, clés d'API Google, jetons npm, Hugging Face et SendGrid, jetons web JSON,
clés privées (PGP aussi), un mot de passe dans une adresse (
postgres://user:Pa55word@host) et un mot de passe écrit à côté de son libellé, commepassword: Hunter2xyz9ou"password": "…"- utile dansaccounts.md; les fichiers UTF-16 sont lus aussi). Si un secret est trouvé, la sauvegarde s'arrête avant d'envoyer quoi que ce soit et vous indique quel fichier et quel type de secret (jamais la valeur). Retirez-le du fichier – ne gardez que le nom de la clé, rangez la valeur dans Paramètres -> Clés – puis relancez. - Privé uniquement : le dépôt doit être privé ; cela est vérifié lorsque vous le configurez, puis de nouveau avant chaque envoi. S'il devient public, les sauvegardes s'arrêtent.
- Le jeton GitHub est stocké dans
secrets.json(mode 600) et n'est jamais écrit dans un fichier de configuration git.
Mise en place (Paramètres -> Sauvegarde)
- Sur GitHub, créez un fine-grained personal access token (jeton d'accès personnel à permissions détaillées) :
- Accès au dépôt : uniquement le dépôt de sauvegarde (ou tous les dépôts si vous voulez que Claude Maxxing le crée) ;
- Permissions : Contents: read and write, Metadata: read ; ajoutez Administration: read and write uniquement si le dépôt doit être créé pour vous.
- Dans Paramètres -> Sauvegarde, saisissez
owner/nameet le jeton ; cochez « créer le dépôt » s'il n'existe pas encore. - Cliquez sur Sauvegarder maintenant et vérifiez le commit sur GitHub.
Une tâche quotidienne Sauvegarde de la mémoire est créée (par défaut à 04:40). Modifiez l'horaire et la liste blanche dans Paramètres -> Sauvegarde.
Restauration
- Paramètres -> Sauvegarde -> Restaurer (ou
maxxing backup restore) : restaure les fichiers de la liste blanche du dernier commit (ou d'un commit choisi). Les fichiers qui seraient écrasés sont d'abord déplacés vers la corbeille (/var/lib/claude-maxxing/trash/backup-restore-<date>/). - Sur un nouveau serveur (aucune session encore démarrée : la restauration de l'installateur, un déménagement vers un autre serveur), tout
revient comme avant, tâches et extensions activées. Sur un serveur déjà utilisé, le code qui s'exécute sur le serveur revient
désactivé : les tâches planifiées (shell ou Claude) que ce serveur n'a pas
déjà à l'identique, et les extensions dont au moins un fichier de code est écrit par la restauration (désactivées avant l'écriture de leurs
fichiers : leur code ne s'exécute jamais, pas même un instant) ; les
hooksde Claude Code et les autres réglages qui exécutent une commande ou redirigent Claude (statusLine,apiKeyHelper,env, serveurs MCP de projet...) sont retirés des fichiers.claude/settings.jsonrestaurés (conservés danshooks-held.jsondans le dossier de corbeille de la restauration) ; les fichiers que la liste de sauvegarde de ce serveur ne couvre pas (un.mcp.json, un script...) ne sont pas écrits mais mis de côté dans le dossieroutsidede la corbeille de la restauration ; les serveurs MCP locaux (une commande que Claude Code lance à chaque tour) ne sont pas rajoutés - ils sont enregistrés dansmcp-held.jsondans le dossier de corbeille de la restauration, ajoutez de nouveau ceux auxquels vous faites confiance dans Paramètres → MCP (les serveurs distants, une URL, sont restaurés). Les skills et personnalisations restaurés sont listés pour que vous les examiniez avant de les utiliser. Une notification récapitule tout cela ; vérifiez-le, puis activez ce qui convient dans Tâches planifiées et Extensions. Sinon, toute personne pouvant envoyer des modifications vers le dépôt de sauvegarde pourrait faire exécuter son code ici. La tâche de sauvegarde de la mémoire elle-même reste activée. - Une ancienne version d'un seul fichier : parcourez son historique sur GitHub et recopiez-la.
Déménager vers un nouveau serveur
curl -fsSL https://get.harness-maxxing.com | RESTORE_FROM=owner/name RESTORE_TOKEN=<token> bash
L'installateur restaure votre mémoire, vos réglages et vos tâches. Ensuite, connectez-vous, saisissez de nouveau ce qui n'est jamais sauvegardé (jeton Claude, jeton du bot Telegram, Clés), et reliez de nouveau Telegram – arrêtez d'abord l'ancien serveur : un bot ne peut être servi que par un seul serveur.
Ligne de commande
maxxing backup status [--json]
maxxing backup run
maxxing backup restore [--ref <commit>]
maxxing backup restore --from owner/name # token from $MAXXING_GITHUB_TOKEN or prompted