Skip to content

smartlegionlab/smart-repository-manager-gui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

39 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Smart Repository Manager GUI v1.2.2

A powerful desktop application for managing GitHub repositories with intelligent synchronization, and comprehensive visual management tools.

GitHub release (latest by date) GitHub top language GitHub GitHub stars GitHub forks


πŸš€ Overview

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

πŸ“‹ System Initialization

Every session begins with an 8-step mandatory system checkup:

  1. Directory Structure - Creates and verifies workspace organization
  2. Internet Connection - Validates network connectivity
  3. User Management - Select or add GitHub account
  4. User Data - Fetches GitHub profile information
  5. Repository Loading - Retrieves complete repository list
  6. Local Copy Check - Scans for existing local repositories
  7. Update Detection - Identifies repositories needing updates

πŸ”„ Synchronization Operations

1. Synchronize All (Ctrl+S)

Complete bidirectional sync - clones missing repositories and updates existing ones.

2. Update Needed Only (Ctrl+U)

Smart update detection - only pulls repositories with new commits.

3. Clone Missing Only (Ctrl+M)

Selective cloning - cloning only repositories not present locally.

4. Sync with Repair (Ctrl+R)

Advanced recovery - detects and fixes corrupted repositories, then syncs.

5. Re-clone All

Complete refresh - removes and re-clones all local repositories.

6. Download All As Zip

Complete parallel download - download all repositories as ZIP archives.

Live Console: Every sync operation displays real-time logs with timestamp, status, and duration for each repository.


πŸ–₯️ Main Dashboard

Repository Table

  • 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

Status Panels

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

Detail Dialogs

  • User Information - Complete GitHub profile with avatar
  • Token Information - Token scopes, creation date, rate limits
  • Network Information - DNS, server responses, connection quality
  • Storage Management - Disk usage, cleanup tools, repository details

⌨️ Keyboard Shortcuts

πŸ“ File

Shortcut Action
Ctrl+B Create Archive
F5 Refresh
Ctrl+Q Exit

πŸ”„ Synchronization

Shortcut Action
Ctrl+S Synchronize All
Ctrl+U Update Needed Only
Ctrl+M Clone Missing Only
Ctrl+Shift+R Sync with Repair
Ctrl+Alt+R Re-clone All Repositories
Ctrl+Shift+S Sync Selected
Ctrl+Shift+C Clone Selected
Ctrl+Shift+U Update Selected
Ctrl+Shift+D Download all repositories

πŸ“‚ Repositories

Shortcut Action
Ctrl+Shift+B Open in Browser
Ctrl+L Open Local Folder
Ctrl+D Show Details
Ctrl+R Refresh List
Ctrl+Del Delete Local Copy

πŸ› οΈ Tools

Shortcut Action
Ctrl+I User Information
Ctrl+T Token Information
Ctrl+Shift+N Network Information
Ctrl+Shift+M Storage Management

❓ Help

Shortcut Action
F1 Documentation
Ctrl+/ Keyboard shortcuts
Ctrl+Shift+A About

πŸ‘₯ Multi-User Management

  • 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

πŸ“¦ Installation

Prerequisites

  • Python 3.8+
  • Git installed and configured
  • GitHub Personal Access Token (with repo scope)
  • PyQt6

Generate GitHub Token

  1. Visit GitHub Tokens
  2. Select permissions:
    • βœ… repo (full repository access)
  3. 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

πŸ“ Directory Structure

~/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

πŸ–ΌοΈ Screenshot

Smart Repository Manager GUI


πŸ”’ Security

  • 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

Related Projects

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.


⚠️ DISCLAIMER

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:

  1. 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
  2. REPOSITORY DAMAGE

    • Force push conflicts or unintended overwrites
    • Broken Git references or detached HEAD states
    • Failed merge operations or unresolved conflicts
  3. SECURITY INCIDENTS

    • Exposure of GitHub Personal Access Tokens
    • Unauthorized repository access
    • Credential theft or misuse
  4. NETWORK OR SERVICE ISSUES

    • GitHub API rate limiting or downtime
    • Network connectivity failures
    • DNS resolution problems
    • SSL/TLS certificate errors
  5. 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
  • 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.


πŸ“Œ Development Status

⚠️ ACTIVE DEVELOPMENT - This project is under continuous development. While we strive for stability, you may encounter:

  • 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


🀝 Support & Contributions

Issues

  • 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

Contributions

  1. Fork the repository
  2. Create a feature branch
  3. Follow existing code style
  4. Submit pull request with clear description

πŸ“„ License

BSD 3-Clause License - See LICENSE file for details.

Copyright Β© 2026, Alexander Suvorov. All rights reserved.


πŸ‘¨β€πŸ’» Developer

Alexander Suvorov


Smart Repository Manager GUI - Visual control for your GitHub universe.