A GitHub CLI plugin that helps open-source maintainers stay on top of repository activity across multiple projects. Track stars, issues, pull requests, and more β all from your terminal.
- π Multi-repo tracking - Monitor multiple repositories from a single dashboard
- π Activity monitoring - Track stars, issues, PRs, forks, etc...
- π Diff-based status - Only see new activity since your last check
- π― Configurable events - Choose which events to track per repository
- π± Clean terminal UI - Beautiful CLI output with emojis and clear formatting
- GitHub CLI installed and authenticated
- Go 1.24+ (if building from source)
gh extension install jackchuka/gh-oss-watchgit clone https://github.com/jackchuka/gh-oss-watch.git
cd gh-oss-watch
go build -o gh-oss-watch .
# Copy to your PATH or use directly-
Initialize configuration:
gh oss-watch init
-
Add repositories to watch:
gh oss-watch add facebook/react gh oss-watch add microsoft/vscode stars issues
-
Check for new activity:
gh oss-watch status
-
View dashboard:
gh oss-watch dashboard
| Command | Description | Example |
|---|---|---|
init |
Initialize config file | gh oss-watch init |
add <repo> [events...] |
Add repo to watch list | gh oss-watch add owner/repo stars issues |
set <repo> <events...> |
Configure events for repo | gh oss-watch set owner/repo forks |
remove <repo> |
Remove repo from watch list | gh oss-watch remove owner/repo |
status |
Show new activity since last check | gh oss-watch status |
dashboard |
Display summary across all repos | gh oss-watch dashboard |
stars- Repository starsissues- Issues created/reopenedpull_requests- Pull requests openedforks- Repository forks
Configuration is stored in ~/.gh-oss-watch/config.yaml:
repos:
- repo: facebook/react
events:
- stars
- issues
- pull_requests
- repo: microsoft/vscode
events:
- stars
- forks$ gh oss-watch status
π facebook/react:
β +23 stars (219,432 total)
π +5 issues (823 open)
π +12 pull requests (156 open)
π microsoft/vscode:
β +45 stars (158,234 total)
π΄ +8 forks (26,789 total)$ gh oss-watch dashboard
π OSS Watch Dashboard
======================
π facebook/react
β Stars: 219,432
π Issues: 823
π Pull Requests: 156
π΄ Forks: 43,234
π
Last Updated: 2024-01-15 14:23
π’ Watching: stars, issues, pull_requests
π Total Across All Repos:
β Total Stars: 377,666
π Total Issues: 1,456
π Total PRs: 289
π΄ Total Forks: 70,023Perfect for cron jobs or CI/CD pipelines:
# Check for activity every hour
0 * * * * /path/to/gh-oss-watch status
# Weekly dashboard summary
0 9 * * 1 /path/to/gh-oss-watch dashboard | mail -s "Weekly OSS Summary" you@example.com.
βββ cmd/ # Command handlers
βββ services/ # Business logic & interfaces
β βββ mock/ # Generated mocks
βββ .github/workflows/ # CI/CD pipelines
βββ main.go # Entry point
go build -o gh-oss-watch .# Run tests
go test ./...
# Run tests with race detection
go test -race ./...
# Generate mocks
cd services && go generate# Format code
gofmt -s -w .
# Run linter
golangci-lint run
# Check formatting
gofmt -s -l .- Modular design with clean separation of concerns
- Dependency injection for testability
- Generated mocks using mockgen for comprehensive testing
- Interface-based architecture enabling easy mocking and testing
- Caching system for efficient API usage and offline support
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Add tests for your changes
- Ensure all tests pass (
go test ./...) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License.
- Built with GitHub CLI for seamless GitHub integration
- Uses gomock for testing
- Inspired by the need for better OSS project monitoring tools
Happy monitoring! π If you find this tool useful, please consider giving it a β on GitHub.