π¦ ClawHub
dev-backup
by @vincsta
Create versioned snapshots of a workspace project during development to enable safe rollback before risky changes or upon user request.
TERMINAL
clawhub install dev-backupπ About This Skill
name: dev-backup description: Create snapshots of a workspace project during development. Use when: (1) user asks to backup the current app, (2) before risky changes/refactoring, (3) "salva lo stato attuale" or "fai un backup dello sviluppo", (4) any point where the project could be corrupted or lost. Automatically adds progressive numbering per project.
dev-backup
Snapshot the current state of a named project for safe rollback.
Usage
Each project gets its own snapshot numbering. The project name is always the first argument.
# Backup any project
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
bash "$SCRIPT_DIR/dev-backup.sh" --project-dir /path/to/your/projectExample: backup a "my-app" project
bash "$SCRIPT_DIR/dev-backup.sh" my-app --project-dir /home/user/projects/my-appNo --project-dir? Uses the current working directory
cd /home/user/projects/my-app
bash "$SCRIPT_DIR/dev-backup.sh" my-app
Naming
Snapshots are named per project:
Each project tracks its own counter independently.
Excluded from snapshot
.git, node_modules, .vite, .cache, *.log, .env, backups/Restore
To restore a snapshot:
cp -r /-snapshot-3/ /
Or use the .latest symlink:
cp -r /.latest/ /
Verification
After backup, confirm:
ls -la /
You should see the project-prefixed snapshot and .latest symlink.
π‘ Examples
Each project gets its own snapshot numbering. The project name is always the first argument.
# Backup any project
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
bash "$SCRIPT_DIR/dev-backup.sh" --project-dir /path/to/your/projectExample: backup a "my-app" project
bash "$SCRIPT_DIR/dev-backup.sh" my-app --project-dir /home/user/projects/my-appNo --project-dir? Uses the current working directory
cd /home/user/projects/my-app
bash "$SCRIPT_DIR/dev-backup.sh" my-app