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.jsonnpm 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:dailyEdit 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 commandsmacOS/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!