A framework-agnostic Git-based backup and checkpoint system for any development project.
Click "Use this template" above or visit: https://github.com/HalbonLabs/universal-backup-system-template/generate
git clone https://github.com/YOUR_USERNAME/YOUR_REPO_NAME
cd YOUR_REPO_NAME
# Automatic installation
powershell -ExecutionPolicy Bypass -File ./install.ps1 -Framework auto-detect
# Or copy files manually
cp -r scripts/ ../your-existing-project/
cp package.json.template ../your-existing-project/package-backup.json
npm run ai:safety-check
npm run save
π Done! Your project now has enterprise-grade backup protection.
- Frontend: React, Vue, Angular, SvelteKit, Next.js, Nuxt, Vite projects
- Backend: Node.js, Express, NestJS, Python (Django/Flask), PHP, Ruby on Rails
- Mobile: React Native, Flutter, Ionic
- Desktop: Electron, Tauri
- Static: Jekyll, Hugo, Gatsby, 11ty
- Any Git Repository: Documentation, configs, dotfiles, etc.
- Package Managers: npm, yarn, pnpm, pip, composer, gem, cargo, etc.
- Git Hosts: GitHub, GitLab, Bitbucket, Azure DevOps
- Operating Systems: Windows (PowerShell), macOS/Linux (bash versions available)
- Secret Scanning: Detects API keys, passwords, tokens in commits
- Pre-commit Hooks: Validates security before each commit
- Dependency Scanning: NPM audit, Python safety checks
- AI Safety Protocol: Validates AI-assisted changes
- File Validation: Prevents sensitive files from being committed
# Run security validation
npm run security:check
# Validate all dependencies
npm run security:audit
# Check for secrets in codebase
npm run security:scan-secrets
- Build Time Tracking: Monitor compilation performance
- Disk Usage Analysis: Track project size and folder growth
- Git Metrics: Commit frequency, branch health, repository stats
- System Resources: Memory usage, disk space, CPU monitoring
- Error Tracking: Centralized logging with structured data
# Full performance analysis
npm run monitor:performance
# Disk usage breakdown
npm run monitor:disk
# Git repository analytics
npm run monitor:git
# System resource monitoring
npm run monitor:system
# Error log analysis
npm run monitor:errors
- Slack: Webhook integration with rich formatting
- Discord: Bot notifications with embed support
- Microsoft Teams: Adaptive card notifications
- Email: SMTP with HTML formatting
- Custom Webhooks: Any REST API endpoint
# Copy notification template
cp notification-config.json.example notification-config.json
# Edit configuration
# Enable desired notification platforms
# Add webhook URLs and credentials
- Security Alerts: Dangerous operations, secrets detected
- Performance Alerts: Slow builds, high resource usage
- Error Alerts: Build failures, critical errors
- Health Alerts: Repository issues, dependency problems
# Quick save with current changes
npm run save
# Feature checkpoint with description
npm run checkpoint:feature -Message "Add user authentication"
# Daily checkpoint
npm run checkpoint:daily
# Before major AI-assisted changes
npm run ai:safety-check
# With custom description
npm run ai:safety-check -ChangeDescription "Database migration"
# Run security validation
npm run security:check
# Performance monitoring
npm run monitor:performance
# Error tracking analysis
npm run monitor:errors
# Full health check
npm run health:check
# List all checkpoints
git tag --list --sort=-version:refname
# Rollback to specific checkpoint
git checkout checkpoint-feature-20250909_1234
# Emergency procedures
npm run rollback:daily
Edit package.json
scripts section to match your framework:
React/Next.js:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"test": "jest",
"lint": "eslint .",
"health:check": "npm run lint && npm run build && npm run test"
}
}
Vue/Nuxt:
{
"scripts": {
"dev": "nuxt dev",
"build": "nuxt build",
"test": "vitest",
"lint": "eslint .",
"health:check": "npm run lint && npm run build && npm run test"
}
}
Angular:
{
"scripts": {
"dev": "ng serve",
"build": "ng build",
"test": "ng test --watch=false",
"lint": "ng lint",
"health:check": "npm run lint && npm run build && npm run test"
}
}
Python (Django/Flask):
{
"scripts": {
"dev": "python manage.py runserver",
"build": "python manage.py collectstatic --noinput",
"test": "python manage.py test",
"lint": "flake8 .",
"health:check": "npm run lint && npm run test && npm run build"
}
}
Edit scripts/checkpoint-simple.ps1
to adjust:
- Session interval: Change from 4 hours to your preference
- Daily timing: Adjust when daily checkpoints are created
- Feature threshold: Change from 10+ commits to your preference
Edit scripts/health-check.ps1
to include your project's specific health checks:
- Database connectivity
- API endpoint tests
- Build verification
- Dependency vulnerability checks
# Install backup system
cp -r backup-system-template/* my-react-app/
# Customize package.json
{
"scripts": {
"dev": "vite",
"build": "tsc && vite build",
"test": "vitest",
"lint": "eslint . --ext ts,tsx",
"health:check": "npm run lint && npm run build && npm run test",
"save": "powershell -ExecutionPolicy Bypass -File ./scripts/checkpoint-simple.ps1",
"checkpoint:feature": "powershell -ExecutionPolicy Bypass -File ./scripts/checkpoint-simple.ps1 -Type feature",
"ai:safety-check": "powershell -ExecutionPolicy Bypass -File ./scripts/ai-safety-check.ps1"
}
}
# Same scripts, different dev commands
{
"scripts": {
"dev": "vite",
"build": "vue-tsc && vite build",
"test": "vitest",
"lint": "eslint . --ext .vue,.ts,.js",
"health:check": "npm run lint && npm run build && npm run test",
"save": "powershell -ExecutionPolicy Bypass -File ./scripts/checkpoint-simple.ps1"
}
}
{
"scripts": {
"dev": "nodemon src/server.ts",
"build": "tsc",
"test": "jest",
"lint": "eslint src/",
"health:check": "npm run lint && npm run build && npm run test",
"save": "powershell -ExecutionPolicy Bypass -File ./scripts/checkpoint-simple.ps1"
}
}
# In scripts/health-check.ps1, add your checks:
# Database connectivity
$dbResult = Invoke-Command { npm run db:ping }
if ($LASTEXITCODE -ne 0) { Write-Host "β Database connection failed" }
# API endpoints
$apiResult = Invoke-RestMethod "http://localhost:3000/health"
if ($apiResult.status -ne "ok") { Write-Host "β API health check failed" }
# Custom build validation
npm run build:validate
if ($LASTEXITCODE -ne 0) { Write-Host "β Build validation failed" }
# .github/workflows/backup-validation.yml
name: Validate Backup System
on: [push, pull_request]
jobs:
validate:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Validate checkpoints
run: |
git tag --list | grep checkpoint
npm run health:check
"PowerShell execution policy"
# Fix: Update execution policy
Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope CurrentUser
"Git tags not pushing"
# Fix: Check remote configuration
git remote -v
git push origin --tags
"Health check failing"
# Fix: Customize health check for your framework
# Edit scripts/health-check.ps1 with your specific commands
macOS/Linux versions:
# Bash versions of scripts available in:
scripts/
βββ checkpoint-simple.sh # Bash version
βββ ai-safety-check.sh # Bash version
βββ health-check.sh # Bash version
- Installation Guide - Step-by-step setup
- Framework Integration - Specific framework configurations
- AI Safety Protocol - AI assistant integration
- Emergency Procedures - Disaster recovery
- Customization - Advanced configuration
"Accidentally deleted entire repository during backup system development. Restored in 3 minutes using the system's own checkpoint tags. 10/10 would accidentally delete again."
βββββ - GitHub Copilot (AI Assistant)
"This backup system was battle-tested when its own creator accidentally deleted the repository it was designed to protect. Recovery time: 3 minutes. Data loss: Zero. Developer stress level: Temporarily elevated, then significantly relieved."
βββββ - Real-world disaster recovery test
"The best way to test a backup system is when you really, really need it to work. This one passed with flying colors!"
βββββ - Murphy's Law validation
- Fork the repository
- Create feature branch:
git checkout -b feature/improvement
- Test on multiple frameworks
- Submit pull request
MIT License - Use in any project, commercial or personal.
π Start protecting your projects today!