A sleek desktop GUI tool that takes the grunt work out of cloning and pushing GitHub repositories. No more repetitive terminal commands — just paste a URL and let the app handle the rest. Built with Python and CustomTkinter, packaged as a standalone .exe (Windows) or .app (macOS).
- 🔗 Clone + Push in one flow — skip the repetitive terminal steps; clone and push in a single click
- 🐙 GitHub API integration — creates the destination repo on your account via the GitHub API
- 💾 Persistent settings — username, token and folder are saved locally and auto-loaded on every launch
- ⚙️ Collapsible settings panel — configure once, hidden on every subsequent run
- ➕ Multi-repo support — add multiple repos and process them all in one click
- 🌿 Auto branch detection — detects
mainormasterautomatically - 🎨 Dark themed UI — GitHub-inspired dark color scheme
- 📋 Color-coded log output — green for success, red for errors, yellow for warnings
- 🪟 Resizable & scrollable — works on any screen size, fully maximizable
- 📦 Standalone binary —
.exefor Windows,.appfor macOS; no Python installation needed on the target machine
Dark themed UI with collapsible settings, multi-repo list, and live output log.
Requirements: Python 3.8+, Git installed and on PATH
# Clone this repo
git clone https://github.com/samarthvmurthy/repo-cloner
cd repo-cloner
# Install dependencies
pip install customtkinter requests pyinstaller
# Run
python repo_cloner.pyDownload from the Releases page. No Python needed — just requires Git to be installed.
| Platform | File |
|---|---|
| Windows | RepoClonerApp.exe |
| macOS | RepoClonerApp-mac.zip (extract and run RepoClonerApp.app) |
Make sure repo_cloner.py, repocloner.ico, and repocloner.png are in the same folder.
Windows:
pyinstaller --onefile --windowed --icon=repocloner.ico --name=RepoClonerApp repo_cloner.pyYour .exe will be in dist/.
macOS:
pyinstaller --windowed --name=RepoClonerApp repo_cloner.py
zip -r RepoClonerApp-mac.zip dist/RepoClonerApp.appYour .app bundle will be in dist/.
- Open the app — the Settings panel opens automatically
- Enter your GitHub username (e.g.
samarthvmurthy) - Paste your Personal Access Token (PAT) — needs
repoandworkflowscopes - Set your local destination folder
- Select your OS (Windows or macOS — auto-detected)
- Hit 💾 Save & Collapse
Generate a PAT at: github.com/settings/tokens
- Paste a GitHub URL into the repo field
- Select your Action Mode:
Clone only— downloads locallyClone + Push (new repo)— clones and creates + pushes to your GitHubClone + Push (existing repo)— clones and pushes to an existing repo
- Hit ⬇ Clone
The repo list clears automatically after a successful run.
| Requirement | Details |
|---|---|
| Git | Must be installed and on PATH — git-scm.com |
| GitHub PAT | Needs repo scope, workflow scope for repos with GitHub Actions |
| OS | Windows (.exe) or macOS (.app); Linux run from source |
| Python (dev only) | 3.8+ with customtkinter, requests, pyinstaller |
- Python 3
- CustomTkinter — modern dark UI framework
- Requests — GitHub REST API calls
- PyInstaller — packaging to
.exe - Git — clone and push operations via subprocess
MIT — free to use, modify and distribute.