A text-based user interface (TUI) Python app for managing GitHub branches and pull requests using the gh CLI.
- Store the last selected repository for quick access
- Choose a repository from your GitHub organizations or account
- List, delete, or select branches
- Create, merge, and delete branches via PR in one step
- Interactive branch actions widget for deleting or merging via PR
- Python 3.8+
- GitHub CLI (
gh) - textual
pip install -r requirements.txtAuthenticate the GitHub CLI before running the app:
gh auth loginpython main.py- Launch the app and connect your GitHub account with
gh auth login. - Select a GitHub organization or your personal account to browse repositories.
- Search and select a single repository from the list. The app clones the repo to a temporary cache directory (or updates the existing clone).
- The TUI displays the branches for the selected repository.
- Use Delete Branch to remove the selected branch.
- Use PR/Merge/Delete to create a pull request, merge it via the GitHub CLI, and delete the branch in one step.
- From the repository selection screen you can change your selected GitHub repository at any time.
The selected repository is stored in config.json at the project root as the canonical GitHub repository name (e.g., org/repo).
- On first launch, you will be prompted to authenticate using
gh auth login. - You can update your selected repository at any time via the TUI.
- The app no longer tracks local repository paths; all actions are performed via the GitHub API and the
ghCLI.
If you previously used local paths in your config, you will need to re-select your repository using the new GitHub-based flow. The old format is no longer supported.