An open API service indexing awesome lists of open source software.

https://github.com/byigitt/nogify

🔔 Chrome extension that monitors your GitHub public repos and notifies you of new Issues & Pull Requests
https://github.com/byigitt/nogify

browser-extension chrome-extension github github-api javascript notifications

Last synced: 3 months ago
JSON representation

🔔 Chrome extension that monitors your GitHub public repos and notifies you of new Issues & Pull Requests

Awesome Lists containing this project

README

          

# Nogify – GitHub Repo Watcher

A Chrome extension that monitors your GitHub public repositories and notifies you when new **Issues** or **Pull Requests** are opened.

## Features

- Monitors all your public GitHub repos automatically
- Desktop notifications for new Issues & PRs
- Badge counter showing unseen events
- Configurable check interval (1-60 minutes)
- Token stored locally, never sent anywhere except GitHub API
- Dark theme UI

## Installation

1. Clone or download this repo
2. Open Chrome and go to `chrome://extensions/`
3. Enable **Developer mode** (top-right toggle)
4. Click **"Load unpacked"** and select the `nogify` folder
5. Click the Nogify icon in the toolbar, then open Settings
6. Enter your **GitHub username**
7. (Recommended) Add a **Personal Access Token** for higher rate limits

## Getting a GitHub Token

1. Go to [github.com/settings/tokens?type=beta](https://github.com/settings/tokens?type=beta)
2. Click **"Generate new token"**
3. Name it `Nogify Extension`
4. Under **Repository access**, select **"Public Repositories (read-only)"**
5. Click **"Generate token"** and copy it
6. Paste it in the extension settings

> **No extra scopes needed.** Public repo read access is sufficient.

### Rate Limits

| Auth Method | Limit |
|---|---|
| No token | 60 requests/hour |
| With token | 5,000 requests/hour |

Each check uses 1-2 requests via the Search API, regardless of repo count.

## How It Works

1. Background service worker runs on a timer (default: every 3 minutes)
2. Uses the GitHub Search API to find all open issues/PRs across your public repos in a single query
3. Compares against previously seen IDs
4. Sends Chrome notifications for new items
5. First run only populates the "seen" list (no spam on install)

## Project Structure

```
nogify/
├── manifest.json # Extension manifest (MV3)
├── background.js # Service worker - polling & notifications
├── shared.css # Shared CSS variables and reset
├── popup/
│ ├── popup.html # Popup UI
│ ├── popup.css # Popup styles
│ └── popup.js # Popup logic
├── options/
│ ├── options.html # Settings page
│ ├── options.css # Settings styles
│ └── options.js # Settings logic
├── icons/
│ ├── icons.js # Inline SVG icon definitions
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
└── cli-test.mjs # CLI test tool for logic verification
```

## CLI Test Tool

Test the core logic without loading the Chrome extension:

```bash
node cli-test.mjs [token] [--watch] [--interval N] [--skip-profile]
```

## License

MIT