Manage Your GitHub Notifications from the macOS Menu Bar
Features • Installation • Screenshots • Usage • Development
Tired of constantly opening your browser to check GitHub notifications? Not anymore with NotiGit.
|
|
| Category | Feature | Description |
|---|---|---|
| Notifications | Real-time fetching | Configurable intervals (30s - 1 hour) |
| Desktop alerts | Native macOS notifications for new items | |
| Sound notifications | Toggleable sound alerts | |
| Accounts | Multi-account | Add unlimited GitHub accounts |
| Account tabs | Quick switching between accounts | |
| Token management | Secure PAT storage and updates | |
| Filtering | Repository filter | View notifications from specific repos |
| Type filter | Issue, PR, Release, Discussion | |
| Status filter | Open, closed, merged | |
| Interaction | Detail view | Markdown-supported content |
| Write comments | Comment directly from the app | |
| Quick actions | Mark as read, open in browser | |
| Interface | Native macOS design | Platform-consistent look with macos_ui |
| Glass-effect cards | Modern and sleek design | |
| Menu bar badge | Unread count display |
More screenshots
| Feature | Image |
|---|---|
| Account Tabs | docs/screenshots/accounts.png |
| Write Comment | docs/screenshots/comment.png |
| Requirement | Minimum Version |
|---|---|
| macOS | 11.0 (Big Sur) |
| Disk Space | ~50 MB |
Homebrew (Recommended)
brew install --cask notigitManual Download
- Download the latest
.dmgfile from the Releases page - Open the DMG file
- Drag
NotiGit.appto the Applications folder - Launch the app
Build from Source
# Requirements: Flutter 3.10+, Xcode 14+
# 1. Clone the project
git clone https://github.com/omert11/notigit.git
cd notigit
# 2. Install dependencies
flutter pub get
# 3. Run code generation
flutter pub run build_runner build --delete-conflicting-outputs
# 4. Create release build
flutter build macos --release
# Output: build/macos/Build/Products/Release/notigit.appNotiGit uses a Personal Access Token (PAT) to access the GitHub API.
- Click GitHub Token Page
- Enter a token name (e.g., "NotiGit")
- Verify the following permissions are selected:
repo- Full access for private reposnotifications- Notification read access
- Click "Generate token" button
- Copy the token
Important: You can only see the token once. Store it in a safe place.
- Click the NotiGit icon in the menu bar
- Go to Settings → Accounts
- Click "Add Account"
- Paste your token
- Your account will be automatically verified and added
| Action | How To |
|---|---|
| View notification | Click on the notification in the list |
| Mark as read | Click "Mark as Read" button in detail screen |
| Open in browser | Click "Open in Browser" button in detail screen |
| Write comment | Use the comment area at the bottom of detail screen |
| Filter | Use filter chips at the top |
| Switch account | Click account tabs at the top |
| Setting | Description | Default |
|---|---|---|
| Theme | Light / Dark / System | System |
| Refresh Interval | 30 seconds - 1 hour | 1 minute |
| Desktop Alerts | Popup for new notifications | On |
| Sound Notifications | Play notification sound | On |
| Launch at Login | Run when macOS starts | Off |
| Feature | Description | |
|---|---|---|
| Local Storage | Your tokens are stored only on your device | |
| Direct Connection | Data is sent directly to GitHub API, no intermediary servers | |
| No Telemetry | No usage data is collected or shared |
lib/
├── main.dart # App entry point
├── models/ # Data models
├── providers/ # State management (Provider)
├── services/ # Business logic layer
│ ├── github_service.dart # GitHub REST API
│ ├── github_graphql_service.dart # GitHub GraphQL API
│ ├── account_service.dart # Account management
│ ├── storage_service.dart # Data persistence
│ ├── notification_service.dart # System notifications
│ └── menubar_service.dart # Menu bar
├── ui/ # User interface
│ ├── home_screen.dart # Home screen
│ ├── notification_detail.dart # Detail view
│ ├── settings_window.dart # Settings
│ ├── theme.dart # Design system
│ └── widgets/ # Reusable components
└── utils/ # Helper utilities
| Category | Technology |
|---|---|
| Framework | Flutter 3.10+ |
| UI Kit | macos_ui |
| State | Provider |
| HTTP | Dio |
| API | REST + GraphQL |
| Storage | SQLite + SharedPreferences |
| Menu Bar | tray_manager |
| Notifications | flutter_local_notifications |
# Install dependencies
flutter pub get
# Code generation
flutter pub run build_runner build --delete-conflicting-outputs
# Run in debug mode
flutter run -d macos
# Run tests
flutter test
# Code analysis
flutter analyzeWe welcome your contributions!
- Fork this repo
- Create a feature branch (
git checkout -b feature/new-feature) - Commit your changes (
git commit -m 'feat: add new feature') - Push the branch (
git push origin feature/new-feature) - Open a Pull Request
feat: add new feature
fix: fix bug
docs: update documentation
style: format code
refactor: restructure code
test: add tests
chore: configuration changes
- Keyboard shortcuts
- Notification statistics
- Per-repo mute mode
- iOS Companion app
- Alfred/Raycast integration
Having issues? Get help:
- GitHub Issues - Bug reports
- Discussions - Questions and suggestions
This project is licensed under the MIT License.
Developed with care
Star • Report Bug • Share



