GitHub Actions Cleanup & Management GUI — part of the Forge Suite
Built with PyQt6 · 100% local · No telemetry
gh-forge bundles two tools, both for the dev-boffin-io organization:
- Git Remote Manager — a local, multi-remote git GUI (opens first, since it's local-only).
- GitHub Actions Manager — the org-wide GitHub Actions cleanup/artifacts/
workflows tool (opened from Git Remote Manager's Tools → Open gh-forge
menu,
Ctrl+G).
It wraps the gh CLI for the Actions side to give
you a fast, visual way to clean up storage, manage workflows, browse source
code, and more — without touching the terminal.
- 💻 Code — browse repo info, file tree, rendered README (with images), clone URLs (HTTPS/SSH/CLI) with one-click copy, and source code download (ZIP / tar.gz) with progress + cancel.
- 📦 Artifacts — view, download, and delete workflow run artifacts per repo, with live download progress, destination path, and cancel.
- 🧹 Caches — view and bulk-delete GitHub Actions caches per repo.
- ⚡ Workflows — list workflows, trigger
workflow_dispatchruns, re-run (including failed-jobs-only), and stream build logs live. - 💾 Storage — scan every repo in the org for artifact + cache storage usage, with live progress and a sortable breakdown table.
- 🚀 Full Cleanup — one-click cleanup across all repos (artifacts + caches), with a live log and stop button.
- ☰ Account menu — check
gh auth status, login, logout, and a built-in GH CLI Manager:- Install / update / upgrade
gh(auto-detects apt/dnf/pacman/brew) - Auto-detect or manually set the
ghbinary path - Version check
- Password prompt dialog for
sudo-requiring install/update commands
- Install / update / upgrade
- 🌿 Git Remote Manager — a separate GitHub-Desktop-style local git GUI (launched from the account menu), for managing multiple remotes on a single local repo: stage/commit, branch switching, commit history with diffs, add/remove remotes, and Push/Pull/Fetch against whichever remote you pick. Includes a GUI credential prompt (no terminal hangs on username/password) and per-host saved credentials.
- Python 3.9+
- GitHub CLI (
gh) — authenticated viagh auth login(or use the built-in GH CLI Manager to install it) - PyQt6 (auto-installed by the launcher scripts below)
The launcher scripts automatically create a .venv, install/repair
requirements.txt if needed, and run the app — no manual setup required.
Linux / macOS:
./run.shWindows (cmd):
run.batWindows (PowerShell):
.\run.ps1Or via Makefile:
make runIf
.venvis missing, broken, or has incomplete dependencies, the launcher will (re)create it and reinstallrequirements.txtautomatically before launchingmain.py.
Builds run in a fully isolated virtual environment and produce a single
executable in bin/, with all build artifacts cleaned up afterwards.
Linux (AMD64 / ARM64):
chmod +x build.sh
./build.shWindows (cmd):
build.batWindows (PowerShell):
.\build.ps1make install # builds, installs binary, creates desktop entry, sets up PATH
make uninstall # removes binary + desktop entrymake help # show all available targetsThree GitHub Actions workflows build platform binaries automatically
(.github/workflows/):
| Workflow | Target |
|---|---|
build-linux-amd64.yml |
Linux x86_64 |
build-linux-arm64.yml |
Linux ARM64 (Termux/proot-Debian compatible) |
build-windows.yml |
Windows x64 (.exe) |
Each can be triggered manually via Actions → Run workflow, or automatically
on push to main when relevant files change.
gh-forge/
├── main.py # thin entry point — launches Git Remote Manager first
├── core/ # gh CLI wrapper, settings, background workers
├── panels/ # Code, Artifacts, Caches, Workflows, Storage, Cleanup
├── ui/
│ ├── style.py # gh-forge stylesheet
│ ├── gh_manager.py # GH CLI install/update dialog
│ └── actions_window.py # GitHub Actions Manager window (opened via Tools menu)
├── git_manager/ # standalone multi-remote git GUI (launched from account menu)
│ ├── core/ # git_worker, credentials/askpass, diff renderer
│ ├── dialogs/ # clone, new repo, add remote, credentials, options
│ ├── ui/ # stylesheet
│ └── main_window.py # GitRemoteManager + launch()
├── ui/ # stylesheet + GH CLI manager dialog
├── assets/ # app icon
├── requirements.txt
├── run.sh / .bat / .ps1 # auto-venv launchers
├── build.sh / .bat / .ps1 # isolated binary builds
├── Makefile
├── .gitignore
└── .github/workflows/
MIT — see LICENSE.