A modern C++ CLI and TUI application that fetches and visualizes GitHub user activity directly in the terminal.
gh-activity allows developers to explore GitHub events, statistics, and insights through a fast command-line interface and an interactive terminal dashboard.
- Fetch recent GitHub user activity
- Interactive Terminal UI dashboard
- Clean and modular modern C++ architecture
- High performance HTTP requests
- JSON parsing and structured event formatting
- CLI command system
- Activity statistics and insights
- Local caching to reduce API calls
- Cross-platform builds
- Automated builds with GitHub Actions
git clone https://github.com/EranTimothy-dev/gh-activity.git
cd gh-activityThe project uses CMake.
cmake -S . -B build
cmake --build buildRun:
./gh-activity user <username>gh-activity user <username>
Example:
gh-activity user EranTimothy-dev
| Command | Description |
|---|---|
gh-activity user <username> |
Show recent GitHub info |
gh-activity stats <username> |
Display activity statistics |
gh-activity repos <username> |
Show repository insights |
gh-activity tui <username> |
Launch interactive terminal dashboard |
gh-activity
│
├── src
│ ├── main.cpp
│
│ ├── cli
│ │ └── commands.cpp
│
│ ├── github
│ │ ├── github_client.cpp
│ │ └── github_client.hpp
│
│ ├── parser
│ │ └── event_parser.cpp
│
│ ├── models
│ │ └── event.hpp
│
│ ├── cache
│ │ └── cache_manager.cpp
│
│ └── tui
│ └── dashboard.cpp
│
├── tests
│
├── CMakeLists.txt
└── README.md
| Library | Purpose |
|---|---|
| CLI11 | Command-line argument parsing |
| libcurl | HTTP requests |
| nlohmann/json | JSON parsing |
| FTXUI | Terminal UI |
| CMake | Build system |
gh-activity uses the GitHub REST API:
https://api.github.com/users/{username}/events
The tool processes event types such as:
- PushEvent
- PullRequestEvent
- IssuesEvent
- IssueCommentEvent
- WatchEvent
- CreateEvent
This project uses GitHub Actions for automated workflows.
Pipeline includes:
- Build verification
- Unit testing
- Cross-platform compilation
- Release artifact generation
Supported platforms:
- Linux
- macOS
- Windows
Planned enhancements:
- GitHub contribution heatmap
- Interactive filtering in the TUI
- Graph visualizations
- GitHub GraphQL API support
- Plugin architecture
- Package manager distribution
Contributions are welcome.
If you'd like to improve the project:
- Fork the repository
- Create a feature branch
- Commit changes
- Open a pull request
This project is licensed under the MIT License.
Eran Timothy Perera
GitHub: https://github.com/EranTimothy-dev
The project is inspired by modern terminal tools such as:
ghhtopbatlazygit
The goal is to create a fast, developer-friendly GitHub activity explorer directly inside the terminal.