🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Git-Crypt Backup

by @louzhixian

Backup Clawdbot workspace and config to GitHub with git-crypt encryption. Use for daily automated backups or manual backup/restore operations.

Versionv1.0.0
Downloads4,113
Stars⭐ 2
TERMINAL
clawhub install git-crypt-backup

πŸ“– About This Skill


name: git-crypt-backup description: Backup Clawdbot workspace and config to GitHub with git-crypt encryption. Use for daily automated backups or manual backup/restore operations.

Git-Crypt Backup

Automated backup of Clawdbot workspace (~/clawd) and config (~/.clawdbot) to GitHub with sensitive files encrypted via git-crypt.

Setup

1. Create GitHub repos (private recommended)

# Create two private repos on GitHub:

- /clawdbot-workspace

- /clawdbot-config

2. Initialize git-crypt

# Install git-crypt
brew install git-crypt  # macOS

apt install git-crypt # Linux

Workspace repo

cd ~/clawd git init git-crypt init git remote add origin git@github.com:/clawdbot-workspace.git

Config repo

cd ~/.clawdbot git init git-crypt init git remote add origin git@github.com:/clawdbot-config.git

3. Configure encryption

Workspace .gitattributes:

SOUL.md filter=git-crypt diff=git-crypt
USER.md filter=git-crypt diff=git-crypt
HEARTBEAT.md filter=git-crypt diff=git-crypt
MEMORY.md filter=git-crypt diff=git-crypt
memory/** filter=git-crypt diff=git-crypt

Config .gitattributes:

clawdbot.json filter=git-crypt diff=git-crypt
.env filter=git-crypt diff=git-crypt
credentials/** filter=git-crypt diff=git-crypt
telegram/** filter=git-crypt diff=git-crypt
identity/** filter=git-crypt diff=git-crypt
agents//sessions/ filter=git-crypt diff=git-crypt
nodes/** filter=git-crypt diff=git-crypt

Config .gitignore:

*.bak
*.bak.*
.DS_Store
logs/
media/
browser/
subagents/
memory/
update-check.json
*.lock

4. Export keys (important!)

mkdir -p ~/clawdbot-keys
cd ~/clawd && git-crypt export-key ~/clawdbot-keys/workspace.key
cd ~/.clawdbot && git-crypt export-key ~/clawdbot-keys/config.key

⚠️ Store these keys securely (1Password, iCloud Keychain, USB drive, etc.)

5. Initial commit & push

cd ~/clawd && git add -A && git commit -m "Initial backup" && git push -u origin main
cd ~/.clawdbot && git add -A && git commit -m "Initial backup" && git push -u origin main

Daily Backup

Run scripts/backup.sh:

~/clawd/skills/git-crypt-backup/scripts/backup.sh

Or set up a cron job for automatic daily backups.

Restore on New Machine

# 1. Clone repos
git clone git@github.com:/clawdbot-workspace.git ~/clawd
git clone git@github.com:/clawdbot-config.git ~/.clawdbot

2. Unlock with keys

cd ~/clawd && git-crypt unlock /path/to/workspace.key cd ~/.clawdbot && git-crypt unlock /path/to/config.key

What Gets Encrypted

| Repo | Encrypted | Plain | |------|-----------|-------| | workspace | SOUL/USER/HEARTBEAT/MEMORY.md, memory/ | AGENTS.md, IDENTITY.md, TOOLS.md, drafts/ | | config | clawdbot.json, .env, credentials/, sessions/ | cron/jobs.json, settings/** |

βš™οΈ Configuration

1. Create GitHub repos (private recommended)

# Create two private repos on GitHub:

- /clawdbot-workspace

- /clawdbot-config

2. Initialize git-crypt

# Install git-crypt
brew install git-crypt  # macOS

apt install git-crypt # Linux

Workspace repo

cd ~/clawd git init git-crypt init git remote add origin git@github.com:/clawdbot-workspace.git

Config repo

cd ~/.clawdbot git init git-crypt init git remote add origin git@github.com:/clawdbot-config.git

3. Configure encryption

Workspace .gitattributes:

SOUL.md filter=git-crypt diff=git-crypt
USER.md filter=git-crypt diff=git-crypt
HEARTBEAT.md filter=git-crypt diff=git-crypt
MEMORY.md filter=git-crypt diff=git-crypt
memory/** filter=git-crypt diff=git-crypt

Config .gitattributes:

clawdbot.json filter=git-crypt diff=git-crypt
.env filter=git-crypt diff=git-crypt
credentials/** filter=git-crypt diff=git-crypt
telegram/** filter=git-crypt diff=git-crypt
identity/** filter=git-crypt diff=git-crypt
agents//sessions/ filter=git-crypt diff=git-crypt
nodes/** filter=git-crypt diff=git-crypt

Config .gitignore:

*.bak
*.bak.*
.DS_Store
logs/
media/
browser/
subagents/
memory/
update-check.json
*.lock

4. Export keys (important!)

mkdir -p ~/clawdbot-keys
cd ~/clawd && git-crypt export-key ~/clawdbot-keys/workspace.key
cd ~/.clawdbot && git-crypt export-key ~/clawdbot-keys/config.key

⚠️ Store these keys securely (1Password, iCloud Keychain, USB drive, etc.)

5. Initial commit & push

cd ~/clawd && git add -A && git commit -m "Initial backup" && git push -u origin main
cd ~/.clawdbot && git add -A && git commit -m "Initial backup" && git push -u origin main