Browse your GitHub repositories, branches, pull requests, and CI/CD statuses right from your terminal.
Switching between your terminal, browser, and GitHub just to check a pull request or CI run can interrupt your flow. github-workflow is a fast, asynchronous terminal UI that brings your GitHub activity into one place without leaving the command line.
| ⚡ Responsive interface | Rust-powered background workers keep the UI responsive during API calls. |
| 📂 On-demand loading | Repositories load first; branches, commits, and pull requests are fetched as you explore. |
| 🔄 On-the-fly refresh | Press r to asynchronously reload data for any selected repository. |
| 🔎 Live filtering | Press / to filter repositories by name in real time. |
| ✅ CI/CD status | Real-time status indicators (success, failure, in-progress) alongside branches. |
| 🔀 Pull request overview | See open pull requests associated with your branches. |
| 🌐 Open in browser | Press o on a repository, branch, pull request, or commit to open it on GitHub. |
- Rust toolchain
- A GitHub Personal Access Token (PAT) with required repository read access
-
Clone the repository:
git clone https://github.com/jorgeandrecastro/github-workflow.git cd github-workflow -
Set your GitHub token:
export GITHUB_TOKEN="your_personal_access_token_here"
-
Build and launch the app:
cargo run --release
If you don't have Rust installed and just want to test the binary directly:
-
Go to the Releases page and download the binary for your operating system (
linux,macos, orwindows). -
Make the binary executable (Linux/macOS):
chmod +x github-workflow-linux
-
Set your GitHub token:
export GITHUB_TOKEN="your_personal_access_token_here"
-
Run the app:
./github-workflow-linux
| Key | Action |
|---|---|
↑ / ↓ |
Navigate repositories, branches, pull requests, and commits |
Space / Enter |
Expand or collapse the repository tree |
/ |
Filter repositories by name |
r |
Refresh the selected repository asynchronously |
o |
Open the selected item in your browser |
q / Esc |
Quit the application |
| Component | Technology |
|---|---|
| Language | Rust |
| TUI framework | Ratatui and Crossterm |
| API client | Reqwest and Serde |
| Browser integration | Open |
Contributions, issues, and feature requests are welcome. Feel free to check out the open issues.
Distributed under the MIT License.