Skip to content

omert11/notigit

NotiGit Logo

NotiGit

Manage Your GitHub Notifications from the macOS Menu Bar

FeaturesInstallationScreenshotsUsageDevelopment

Platform Flutter License Release


Why NotiGit?

Tired of constantly opening your browser to check GitHub notifications? Not anymore with NotiGit.

Before

  • Keeping GitHub tabs open in browser
  • Constantly refreshing pages
  • Missing important notifications
  • Switching between multiple accounts

With NotiGit

  • One-click access from menu bar
  • Automatic real-time updates
  • Instant awareness with desktop notifications
  • All accounts in one place

Features

Notifications
Real-Time
Automatic notification fetching and desktop alerts
Multi-account
Multi-Account
Manage personal and work accounts simultaneously
Filtering
Smart Filtering
Filter by repo, type, and status
Theme
Theme Support
Light, dark, or system theme

All Features

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

Screenshots

Home Screen - Dark Theme Home Screen - Light Theme

Notification Detail Settings

More screenshots
Feature Image
Account Tabs docs/screenshots/accounts.png
Write Comment docs/screenshots/comment.png

Installation

Requirements

Requirement Minimum Version
macOS 11.0 (Big Sur)
Disk Space ~50 MB

Installation Options

Homebrew (Recommended)
brew install --cask notigit
Manual Download
  1. Download the latest .dmg file from the Releases page
  2. Open the DMG file
  3. Drag NotiGit.app to the Applications folder
  4. 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.app

Usage

1. Create GitHub Token

NotiGit uses a Personal Access Token (PAT) to access the GitHub API.

  1. Click GitHub Token Page
  2. Enter a token name (e.g., "NotiGit")
  3. Verify the following permissions are selected:
    • repo - Full access for private repos
    • notifications - Notification read access
  4. Click "Generate token" button
  5. Copy the token

Important: You can only see the token once. Store it in a safe place.

2. Add Account

  1. Click the NotiGit icon in the menu bar
  2. Go to SettingsAccounts
  3. Click "Add Account"
  4. Paste your token
  5. Your account will be automatically verified and added

3. Managing Notifications

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

Settings

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

Security

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

Development

Project Structure

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

Tech Stack

Flutter Dart SQLite GraphQL

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

Developer Setup

# 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 analyze

Contributing

We welcome your contributions!

  1. Fork this repo
  2. Create a feature branch (git checkout -b feature/new-feature)
  3. Commit your changes (git commit -m 'feat: add new feature')
  4. Push the branch (git push origin feature/new-feature)
  5. Open a Pull Request

Commit Message Format

feat: add new feature
fix: fix bug
docs: update documentation
style: format code
refactor: restructure code
test: add tests
chore: configuration changes

Roadmap

  • Keyboard shortcuts
  • Notification statistics
  • Per-repo mute mode
  • iOS Companion app
  • Alfred/Raycast integration

Support

Having issues? Get help:


License

This project is licensed under the MIT License.


Developed with care

StarReport BugShare

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages