Parcourir la documentation

Pack Backup : sauvegardes ZIP horodatées, restauration et rotation

Backup Manager compresse votre projet en ZIP horodaté, liste, restaure et fait tourner les archives avec quatre commandes slash. Installation, cinq exemples, exclusions, limites.

Sur cette page
  1. Quand l’utiliser
  2. Ce qui est installé
  3. Démarrage rapide
  4. Exemples à copier
  5. Ce qu’il écrit et où
  6. Flux de données et prérequis
  7. Limites et pièges

Le pack Backup installe Backup Manager, un agent qui fait une copie ZIP de votre projet en une commande, la nomme avec la date et l’heure, liste les copies, en restaure une à la demande et élague les anciennes. Il sert juste avant un changement risqué, une grosse refonte ou une migration, quand vous voulez un retour en arrière rapide qui ne dépend pas du contrôle de version. Il est volontairement simple : il utilise les outils de compression de votre système et range les archives dans un dossier backups/ du projet.

Quand l’utiliser

  • Avant une grosse refonte, une montée de version de dépendances, une migration de données ou une exécution autopilot.
  • Pour les projets qui ne sont pas sous contrôle de version, ou dont l’état non commité compte.
  • Il ne remplace pas de vraies sauvegardes : voir les limites plus bas.

Ce qui est installé

Un pack empaqueté dans .agents/skills/pack-backup/ : le fichier d’agent backup-agent.md et un modèle de workflow templates/backup-workflow.md. Aucune compétence, aucun fichier de données et aucun script n’est livré : l’agent écrit lui-même les commandes, en PowerShell sous Windows ou en Bash sous Linux et macOS, et remplace l’espace réservé %PROJECT_ROOT% par le vrai chemin de votre projet.

Menu de Backup Manager
CommandeCe qu’elle fait
/backupSauvegarde complète : un ZIP horodaté de tout le projet, avec les exclusions ci-dessous
/backup-listListe les fichiers ZIP de backups/, du plus récent au plus ancien, avec taille et date
/backup-restoreExtrait un ZIP choisi dans un nouveau dossier restore_<timestamp>/ à la racine du projet
/backup-cleanRotation : garde les N dernières archives (5 sauf indication contraire) et supprime les autres, après vous avoir demandé

Démarrage rapide

  1. Installer le pack

    Core est ajouté automatiquement. Seul Node.js 20 est nécessaire pour l’installateur.

    Dans le terminal du projet
    npx bmad-plus install --packs backup

  2. Faire une première sauvegarde

    L’agent trouve la racine du projet, détecte votre système, crée backups/ si besoin, construit l’archive et indique son nom et sa taille.

    Dans le terminal du projet
    /backup

  3. Ignorer le dossier dans le contrôle de version

    Les archives sont de simples données du projet : gardez-les hors des commits (ligne à ajouter à .gitignore).

    Dans le terminal du projet
    backups/

Exemples à copier

Faire une sauvegarde horodatée

À lancer avant tout ce que vous pourriez vouloir annuler.

Dans votre assistant IA
/backup, puis liste ce que tu as laissé hors de l’archive pour que je vérifie qu’il ne manque rien d’utile.

Ce que vous devriez obtenir Un fichier backups/<project>_backup_<yyyyMMdd_HHmmss>.zip est créé, et l’agent indique son nom et sa taille en mégaoctets. À la racine du projet, il exclut node_modules, .git, vendor, backups/, __pycache__ et les fichiers correspondant à *.backup_* : c’est la liste que l’agent peut vous relire.

Sauvegarder en langage courant avant un changement risqué

Vous pouvez appeler l’agent par son nom et demander en langage courant plutôt que de taper la commande slash.

Dans votre assistant IA
Backup Manager, fais une sauvegarde de ce projet avant que je renomme les modules de src/, et dis-moi la taille de l’archive.

Ce que vous devriez obtenir La même archive que /backup, avec la taille du fichier affichée. Afficher la taille fait partie des règles de l’agent ; sous Linux et macOS, la commande de référence n’imprime que le nom de l’archive : l’agent doit donc ajouter lui-même la taille.

Lister les sauvegardes existantes

À utiliser pour choisir quelle archive restaurer ou élaguer.

Dans votre assistant IA
/backup-list

Ce que vous devriez obtenir Un tableau des fichiers *.zip de backups/, triés par date de dernière écriture (le plus récent d’abord), avec nom, taille en mégaoctets et date.

Restaurer sans écraser votre travail

La restauration va dans un dossier séparé : vous pouvez comparer avant de recopier quoi que ce soit.

Dans votre assistant IA
/backup-restore l’archive la plus récente

Ce que vous devriez obtenir Le ZIP est extrait dans restore_<yyyyMMdd_HHmmss>/ à la racine du projet et l’agent affiche ce chemin. Vos fichiers actuels ne sont pas touchés ; recopiez ce dont vous avez besoin.

Ne garder que les dernières sauvegardes

La rotation supprime des fichiers : l’agent demande donc toujours confirmation d’abord.

Dans votre assistant IA
/backup-clean garde les 3 dernières.

Ce que vous devriez obtenir Après votre confirmation, les archives plus anciennes que les trois plus récentes sont supprimées de backups/ et l’agent indique combien ont été conservées. Sans nombre, la valeur par défaut est 5.

Ce qu’il écrit et où

Fichiers et dossiers créés par le pack
CheminCréé parContenu
backups//backupLes archives, nommées <project>_backup_<yyyyMMdd_HHmmss>.zip
restore_<yyyyMMdd_HHmmss>//backup-restoreLa copie extraite d’une archive

Flux de données et prérequis

  • Windows : PowerShell avec Compress-Archive et Expand-Archive. Linux et macOS : Bash et le programme zip, qui doit être installé.
  • Votre outil hôte doit autoriser l’agent à exécuter des commandes shell. Rien ne quitte votre machine : ni envoi, ni appel réseau, ni clé.

Limites et pièges

Attention Ce n’est pas une sauvegarde de reprise après sinistre

Les archives se trouvent dans le projet, sur le même disque. Un disque perdu perd les deux. Le pack ne planifie pas les sauvegardes, ne les chiffre pas et ne les copie pas ailleurs. Copiez vous-même les archives importantes vers un autre emplacement.

Attention L’historique Git n’est pas dans l’archive

.git est exclu : une restauration rend les fichiers, pas les commits ni les branches. Les dépendances de node_modules et vendor sont exclues aussi : réinstallez-les après une restauration.

Remarque Les exclusions nomment des dossiers de premier niveau

La commande PowerShell ne filtre que les entrées à la racine du projet, et les motifs Bash sont écrits pour des dossiers à la racine : les exclusions ne s’appliquent donc qu’à la racine du projet. Un node_modules imbriqué (par exemple dans packages/app/) peut donc se retrouver dans l’archive. Surveillez la taille indiquée par l’agent et demandez-lui d’exclure davantage si besoin.

Remarque Noms de commande à utiliser

Le menu comprend /backup, /backup-list, /backup-restore et /backup-clean. Il n’y a pas de sous-commande create : /backup seul fait l’archive.

Remarque Provenance

Le pack Universal Backup a été écrit par Laurent Rochetta chez Oveanet, sa société, puis intégré à BMAD+.

Voir aussi