A powerful tool that clones and organizes all your GitHub repositories (or a subset thereof) based on your custom configuration.
With Clone Home, you can instantly replicate your entire development environment on a new machine in seconds.
- 🌐 Web Interface: Drag-and-drop organization with visual folder management
- 🖥️ Command Line: Powerful CLI with filtering, dry-run, and automation
- 🤖 Auto-Organization: One-click organization by owner, language, or year
- 💾 Configuration Exports: Save both
.envfiles and.clonehomeorganization files from the web interface - 🔍 Smart Filtering: Advanced search and filtering capabilities
- ⚡ One-Click Cloning: Clone all repositories with a single command
- 🛡️ Safe Operations: Preview mode and safety checks prevent accidents
Clone Home is for LOCAL repository organization:
✅ What it DOES:
- Downloads/clones your GitHub repositories to your local machine
- Organizes them into custom folder structures locally
- Reads repository information via GitHub API (read-only)
- Creates local
.envand.clonehomeconfiguration files - Manages your local development environment setup
❌ What it does NOT do:
- Modify anything on GitHub (repos, settings, etc.)
- Push changes back to GitHub
- Create or delete repositories on GitHub
- Change GitHub repository settings or permissions
It's simply a smart way to download and organize all your GitHub repos locally.
npm install
npm start webOpen http://localhost:3847 and follow the Setup → Organize → Clone workflow.
npm install
npm start setup # Configure GitHub token and preferences
npm start clone # Clone all repositoriesPrerequisites: Node.js 18.0.0+, Git, GitHub Personal Access Token
npm install
npm link # Optional: make CLI globally available- Create GitHub Personal Access Token with
repoandread:orgscopes - Configure Clone Home:
npm start setup
Configuration is stored in ~/.clone-home/config.json
- Web Interface Guide - Complete guide to using the drag-and-drop web interface
- Command Line Guide - Detailed CLI usage, commands, and configs
- BrowserSync Setup - Live-reload development setup for web interface
- Performance Analysis - Memory usage and optimization details
- Troubleshooting Guide - Common issues and solutions
- Development Guide - Development setup and contribution guidelines
- Usage Examples & Configuration - Comprehensive examples, workflows, and configuration files
Start the web interface: npm start web → Open http://localhost:3847
Features: Setup → Browse Repositories → Organize with Drag & Drop → Export Both .env & .clonehome Files → Clone
Key Advantage: The web interface can export both configuration file types:
.envfiles with your GitHub token and settings.clonehomefiles with your repository organization structure
Perfect for setting up new development machines with complete configuration!
For web interface development with live-reload:
Option 1: Development Mode (Recommended)
npm run dev # Starts both web server and BrowserSyncOption 2: Manual Setup
npm start web # Start Clone Home (port 3847)
npm run browsersync # Start BrowserSync (port 3001)The development mode automatically starts both the web server (without opening a browser) and BrowserSync (which opens the browser at http://localhost:3001). BrowserSync will automatically reload when you edit files in the web/ directory. See BrowserSync Setup Guide for detailed instructions.
Basic commands:
npm start setup # Configure GitHub token and preferences
npm start list # List all repositories
npm start clone # Clone all repositories
npm start status # Check local repository statusAdvanced: Use --filter, --dry-run, and --force options for precise control.
Configuration is stored in ~/.clone-home/config.json. The web interface provides dual export capabilities:
.envfiles: Export your GitHub token and settings for easy project setup.clonehomefiles: Save and share your repository organization structure
This allows you to quickly set up new development environments with both authentication and folder organization in place.
- Read-only operations: Clone Home only reads from GitHub via API - never writes or modifies
- GitHub tokens are stored locally in the project's
.envfile - Tokens are never logged or transmitted anywhere except to GitHub's API
- Use tokens with minimal required permissions (
repoandread:orgscopes only) - All operations are local to your machine - nothing is sent back to GitHub
MIT License - see LICENSE file for details.
- Fork the repository
- Create a feature branch
- Put your thang down, flip it and reverse it
- Add tests if applicable
- Submit a pull request
- ???
- PROFITS

