A cross-platform desktop GUI for managing GitHub repositories — create, upload, clone, branch, and manage tags, releases, and topics.
| Feature | Description |
|---|---|
| Authentication | Secure login via GitHub Personal Access Token (PAT), persistent session with keyring |
| Dashboard | View all repositories with search, visibility filter (public/private), and sort options |
| Create Repository | Create repos with customizable .gitignore (searchable template picker) and custom license file upload |
| Upload | Upload folders or files to any repository with progress tracking |
| Clone | Clone repositories locally with branch selection |
| Branch Management | View, create, and delete branches |
| Repository Settings | Update visibility, description, features, and merge settings |
| Info & Management | View repo details, manage tags, releases, and topics |
| Page | Description |
|---|---|
| Login | Token input form with real-time validation |
| Dashboard | Repository grid with search, filter, and sort |
| Upload | Folder/file selection with progress dialog |
- Operating System: Linux (x86_64) — compatible with Arch Linux, Ubuntu, Debian, Fedora, openSUSE, and other major distributions
- Python: 3.11 or newer
- Git: Installed and available in
PATH - GitHub PAT: Personal Access Token with
repoanddelete_reposcopes
git clone https://github.com/Riflxz/GitForge
cd GitForge
bash run.sh setup # Install dependencies (cukup sekali)
bash run.sh start # Jalankan aplikasiArch Linux:
sudo pacman -S python python-pip git tkUbuntu / Debian:
sudo apt install python3 python3-pip python3-venv git python3-tkFedora:
sudo dnf install python3 python3-pip git python3-tkinteropenSUSE:
sudo zypper install python3 python3-pip git python3-tkbash run.sh # Start (auto-setup jika venv belum ada)
bash run.sh setup # Setup ulang dependencies
bash run.sh check # Cek dependencies sistem
bash run.sh help # Bantuan- Go to GitHub Token Settings
- Select the following scopes:
- repo — Full control of private repositories
- delete_repo — Repository deletion
- Click Generate token
- Copy the token and paste it into the application login screen
Security: Your token is stored securely using your system's keyring (via the
keyringlibrary). It is never exposed in plain text or shared.
GitForge/
├── main.py # Entry point & routing
├── config.py # Global constants & theme colors
├── requirements.txt # Python dependencies
├── run.sh # Script utama (setup/start/check/help)
├── logo.png # Logo aplikasi
├── icon.png # Icon window
├── update_logs.md # Changelog
├── core/
│ ├── auth.py # Token management (keyring)
│ ├── file_dialog.py # File picker (tkinter fallback)
│ ├── git_ops.py # Git operations (clone, push)
│ ├── github_api.py # PyGithub wrapper
│ └── state.py # Global application state
├── pages/
│ ├── login_page.py # Login screen
│ ├── dashboard_page.py # Repository dashboard
│ ├── create_repo_page.py # Repository creation
│ ├── upload_page.py # File upload
│ ├── clone_page.py # Repository cloning
│ ├── branch_page.py # Branch management
│ ├── edit_repo_page.py # Repository settings
│ └── info_page.py # Repository info & release/tag management
└── components/
├── dialogs.py # UI dialogs (error, success, confirm, progress)
├── file_item.py # File item component
├── repo_card.py # Repository card component
└── sidebar.py # Navigation sidebar
| Technology | Version |
|---|---|
| Python | 3.11+ |
| Flet | 0.24 |
| PyGithub | 2.1 |
| GitPython | 3.1 |
| keyring | 24.3 |
This project is open source and distributed under the MIT License. See the LICENSE file for details.

