A powerful desktop application for managing GitHub repositories with intelligent synchronization, SSH configuration, and comprehensive visual management tools.
Smart Repository Manager GUI provides a complete visual interface for managing your GitHub repositories.
Key Benefits:
- Visual Management: Full graphical interface for all operations
- Smart Table: Lazy-loading repository list with filtering and search
- Multi-User Support: Switching between GitHub accounts
- Keyboard-Driven: Complete keyboard shortcuts for power users
Every session begins with an 8-step mandatory system checkup:
- Directory Structure - Creates and verifies workspace organization
- Internet Connection - Validates network connectivity
- SSH Configuration - Checks and validates SSH setup
- User Management - Select or add GitHub account
- User Data - Fetches GitHub profile information
- Repository Loading - Retrieves complete repository list
- Local Copy Check - Scans for existing local repositories
- Update Detection - Identifies repositories needing updates
Complete bidirectional sync - clones missing repositories and updates existing ones.
Smart update detection - only pulls repositories with new commits.
Selective cloning - downloads only repositories not present locally.
Advanced recovery - detects and fixes corrupted repositories, then syncs.
Complete refresh - removes and re-clones all local repositories.
Complete download - download all repositories as ZIP archives.
Live Console: Every sync operation displays real-time logs with timestamp, status, and duration for each repository.
- Lazy Loading: Loads 20 repositories at a time for optimal performance
- Smart Filtering: Filter by Local/Remote, Needs Update, Private/Public, Forks, Archived
- Instant Search: Real-time filtering by name, description, or language
- Visual Indicators: Status icons for local presence and update requirements
- Context Menu: Right-click actions for quick operations
| Panel | Information Displayed |
|---|---|
| π Token | Token validity, API limits (remaining/total), reset time |
| π Repositories | Total count, local copies, pending updates |
| π€ User | Display name, public repos, followers count |
| π Network | Connection status, external IP, GitHub accessibility |
| π SSH | Configuration status, keys count, GitHub authentication |
- User Information - Complete GitHub profile with avatar
- Token Information - Token scopes, creation date, rate limits
- SSH Configuration - Key management, testing, troubleshooting
- Network Information - DNS, server responses, connection quality
- Storage Management - Disk usage, cleanup tools, repository details
- Generate Keys: Support for ED25519 (recommended), RSA 4096, ECDSA, DSA
- View Public Keys: Display and copy to clipboard
- Test Connection: Verify SSH connectivity to GitHub
- Fix Permissions: Automatic repair of SSH file permissions
- Add to known_hosts: Configure GitHub host key
- Create SSH Config: Generate proper SSH configuration
| Category | Shortcut | Action |
|---|---|---|
| File | F5 |
Refresh |
Ctrl+Q |
Exit | |
| Sync | Ctrl+S |
Synchronize All |
Ctrl+U |
Update Needed | |
Ctrl+M |
Clone Missing | |
Ctrl+Shift+R |
Sync with Repair | |
Ctrl+Shift+S |
Sync Selected | |
Ctrl+Shift+C |
Clone Selected | |
Ctrl+Shift+U |
Update Selected | |
| Repos | Ctrl+Shift+B |
Open in Browser |
Ctrl+L |
Open Local Folder | |
Ctrl+R |
Refresh List | |
Ctrl+D |
Show Details | |
Ctrl+Delete |
Delete Local Copy | |
| Tools | Ctrl+I |
User Information |
Ctrl+T |
Token Information | |
Ctrl+Alt+S |
SSH Configuration | |
Ctrl+Shift+N |
Network Information | |
Ctrl+Shift+M |
Storage Management | |
| Help | F1 |
Documentation |
- Add Users: Quick token validation and GitHub profile fetch
- Switch Users: Instant context switching with visual feedback
- Delete Users: Complete removal of user data and tokens
- Avatar Support: Automatic avatar download and circular display
- Persistent Storage: Token storage per user
- Python 3.8+
- Git installed and configured
- An initialized SSH key with a GitHub account.
- GitHub Personal Access Token (with
reposcope) - PyQt6
Before using the application, you need to initialize your SSH key:
# Generate SSH key
ssh-keygen -t ed25519 -C "your_email@example.com"
# Add to ssh-agent
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519
# Add to GitHub account
cat ~/.ssh/id_ed25519.pub # Copy this output
# Paste at https://github.com/settings/keys
# Verify connection
ssh -T git@github.com- Visit GitHub Tokens
- Select permissions:
- β
repo(full repository access)
- β
- Generate and copy token
After that, install and run the application:
# Clone repository
git clone https://github.com/smartlegionlab/smart-repository-manager-gui.git
# Go to project folder
cd smart-repository-manager-gui/
# Create virtual environment
python -m venv venv
# Activate virtual environment
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Launch application
python app.py~/smart_repository_manager/
βββ config.json # Multi-user configuration
βββ username_1/ # User-specific directories
β βββ repositories/ # Local Git repositories
β βββ archives/ # ZIP backups
β βββ downloads/ # Downloaded repositories as ZIP archives
β βββ logs/ # Operation logs
β βββ backups/ # Manual backups
β βββ temp/ # Temporary files
β βββ avatar.png # GitHub profile picture
βββ username_2/ # Additional users
- SSH Keys: Proper file permissions enforced automatically
- Local-Only: All operations performed locally with GitHub API
- No Telemetry: No data is sent to external servers
- No Account Linking: Your GitHub account is not linked to any external service
This GUI application is powered by the same core engine as:
A Python library for managing Git repositories with intelligent synchronization, SSH configuration validation, and GitHub integration. This library serves as the foundation for both CLI and GUI implementations.
A comprehensive command-line tool for users who prefer terminal-based workflows. Offers identical functionality in a text-based interface.
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES OF ANY KIND, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT.
THE AUTHORS AND COPYRIGHT HOLDERS ASSUME NO LIABILITY FOR:
-
DATA LOSS OR CORRUPTION
- Accidental deletion or modification of local repositories
- Corruption of Git objects or repository metadata
- Loss of uncommitted changes or stashes
- Incomplete or failed clone/pull operations
-
REPOSITORY DAMAGE
- Force push conflicts or unintended overwrites
- Broken Git references or detached HEAD states
- Corrupted SSH keys or invalid configurations
- Failed merge operations or unresolved conflicts
-
SECURITY INCIDENTS
- Exposure of GitHub Personal Access Tokens
- Compromise of SSH private keys
- Unauthorized repository access
- Credential theft or misuse
-
NETWORK OR SERVICE ISSUES
- GitHub API rate limiting or downtime
- Network connectivity failures
- DNS resolution problems
- SSL/TLS certificate errors
-
SYSTEM OR PERFORMANCE ISSUES
- Excessive disk space usage
- High CPU or memory consumption
- Application crashes or freezes
- Operating system compatibility problems
YOU ASSUME FULL RESPONSIBILITY FOR:
- Regular backups of all repositories and configuration files
- Secure storage of authentication tokens and SSH keys
- Verification of all operations before execution
- Testing in non-production environments first
- Compliance with GitHub Terms of Service
BY USING THIS SOFTWARE, YOU ACKNOWLEDGE THAT:
- This is development software in active development
- Features may change without notice
- Bugs and incomplete features may exist
- No guaranteed timeline for fixes or updates
- Technical support is provided on a best-effort basis
Use at your own risk. Always maintain backups of your repositories and tokens. This project is in active development and may contain bugs or incomplete features.
- USER ACCEPTS FULL AND UNCONDITIONAL RESPONSIBILITY!!!
Usage of this software constitutes your FULL AND UNCONDITIONAL ACCEPTANCE of this disclaimer. If you do not accept ALL terms and conditions, DO NOT USE THE SOFTWARE.
BY PROCEEDING, YOU ACKNOWLEDGE THAT YOU HAVE READ THIS DISCLAIMER IN ITS ENTIRETY, UNDERSTAND ITS TERMS COMPLETELY, AND ACCEPT THEM WITHOUT RESERVATION OR EXCEPTION.
- Interface changes between versions
- New features in active testing
- Performance optimizations in progress
- Documentation updates pending
Recommended for: Development environments, personal use, testing Not recommended for: Critical production systems without thorough testing
- Bug Reports: Please include system information, steps to reproduce, and error logs
- Feature Requests: Describe the use case and expected behavior
- Questions: Check existing issues before creating new ones
- Fork the repository
- Create a feature branch
- Follow existing code style
- Submit pull request with clear description
BSD 3-Clause License - See LICENSE file for details.
Copyright Β© 2026, Alexander Suvorov. All rights reserved.
Alexander Suvorov
- GitHub: @smartlegionlab
- Email: smartlegionlab@gmail.com
Smart Repository Manager GUI - Visual control for your GitHub universe.
