A terminal-based dashboard for GitHub pull requests built with Go and Bubbletea TUI framework.
- Basic TUI interface with repository list
- Organization support - shows repositories from all organizations you're a member of
- Repository navigation - browse repositories by organization
- Pull Request list view - view active pull requests for each repository
- Pagination - displays 10 items per page with navigation
- Repository grouping - organizes repos by user/organization with visual headers
- PR status indicators - visual indicators for draft, approved, and review states
- Navigation with arrow keys
- Clean, modern terminal UI
- Go 1.21 or later
- GitHub CLI (
gh) installed and authenticated
- Clone the repository:
git clone <your-repo-url>
cd ghprs- Ensure you're authenticated with GitHub CLI:
gh auth loginThe application will automatically use your GitHub CLI token. If you prefer to use an environment variable instead, you can set:
export GITHUB_TOKEN="your-github-token-here"- Install dependencies:
go mod tidy- Run the application:
go run cmd/main.goInstall pre-commit hooks:
# Install pre-commit
pip install pre-commit
# Install the git hook scripts
pre-commit installgo test ./...go build -o bin/ghprs cmd/main.goThe application uses a hierarchical navigation system:
- Organization Selection: First, select an organization or user
- Repository Selection: Then, select a repository from that organization
- Pull Request List: View active pull requests for the selected repository
- ↑/↓ or j/k: Navigate through items on current page
- ←/→ or h/l: Navigate between pages
- g: Go to first page
- G: Go to last page
- Enter: Select organization (first level), repository (second level), or view PR details (third level)
- b or Backspace: Go back to previous level
- d: Toggle debug mode (shows token info and timestamps)
- r: Reload repositories
- q: Quit the application
The application fetches repositories from:
- Your personal repositories
- All organizations you're a member of
Three-Level Navigation:
- Level 1: Select organization/user (shows repo count)
- Level 2: Select repository from that organization
- Level 3: View pull requests with status indicators
- Visual indicators: 📁 for organizations, 📦 for repositories, 🔵🟢🔴🟡 for PR status
- Easy navigation: Use Enter to select, Backspace to go back
The application displays 10 items per page to handle large lists efficiently:
- Organization view: Shows current page and total organization count
- Repository view: Shows current page and total repository count for selected organization
- Navigate between pages with arrow keys or h/l
- Jump to first/last page with g/G
- Cursor resets to top when changing pages
Press d to toggle debug mode, which will show:
- Last update timestamp
- Masked GitHub token (for verification)
- Loading status and error messages
This is a minimal prototype that will be incrementally enhanced with:
- GitHub API integration
- Pull request data fetching
- Caching layer
- Detailed PR views
- Review and comment display
- Fork the repository
- Create a feature branch
- Make your changes
- Run pre-commit hooks:
pre-commit run --all-files - Submit a pull request
MIT