devwatch-github

GitHub Devwatch for Chrome

Track GitHub activity across multiple repos. Get notifications for new PRs, issues, and releases without constantly refreshing.

Chrome Web Store License CI codecov

Key Features

GitHub Devwatch - Track your repositories

Installation

  1. Visit the Chrome Web Store
  2. Click “Add to Chrome”
  3. Grant permissions when prompted
  4. Follow the guided setup wizard on first launch

GitHub Token Permissions: You’ll need a Personal Access Token with repo (for private repos) or public_repo (for public only).

Manual Installation (For Development)

  1. Clone this repository
    git clone https://github.com/jonmartin721/devwatch-github.git
    cd devwatch-github
    
  2. Load the extension in Chrome:
    • Open Chrome and go to chrome://extensions/
    • Enable “Developer mode” (toggle in top right)
    • Click “Load unpacked”
    • Select the extension directory
  3. Click the extension icon and follow the setup wizard

Quick Setup

First-Time Setup

An interactive wizard guides you through:

  1. Create a GitHub token
  2. Add repositories to watch
  3. Choose activity types (PRs, Issues, Releases)

Takes about 2 minutes. No configuration knowledge needed.

Interactive setup wizard welcome screen

Ongoing Use

How to Use

Filter by type (All/PRs/Issues/Releases), search activities, refresh manually, or browse the archive. Click any item to open in GitHub.

Settings Page

Manage your GitHub token, watched repositories, activity filters, check interval, notifications, and theme. Export/import settings for backup.

Settings page for configuring repositories

Typical Workflow

Here’s what using the extension looks like day-to-day:

  1. You’re working and get a notification: “2 new activities in your-org/api-server”
  2. Click the extension icon to see the feed
  3. See “Pull Request #145: Add OAuth2 authentication” (3 minutes ago)
  4. Click the item to open it in GitHub
  5. Review and comment on the PR
  6. When you return to the extension, it’s marked as read

The extension keeps up to 2000 items in your local history, so you can always check something you saw earlier. Badge count updates automatically as you read items.

Accessibility

Full WCAG 2.1 Level A compliance with keyboard navigation, screen reader support, and ARIA landmarks.

Keyboard Shortcuts: R (refresh), S (search), A (archive), Escape (close), Arrow keys (navigate tabs)

Tested with NVDA/JAWS screen readers and axe-core. Report accessibility issues.

Privacy & Security

Your GitHub token is encrypted and stays on your machine. The extension only communicates with GitHub’s API - no analytics, no tracking, no third-party services.

Data Storage

The extension stores up to 2000 activity items locally in Chrome storage. This limit ensures the extension stays performant while providing plenty of history.

Feed Management

You can optionally configure automatic expiry of old items:

Items are automatically removed when they exceed the 2000 item limit (keeping the most recent) or when they’re older than your configured expiry time (if enabled).

Rate Limiting

GitHub gives authenticated users 5,000 API requests per hour. Each repo check uses 1-3 requests, so even checking 50 repos every 15 minutes keeps you well under the limit.

The extension defaults to checking every 15 minutes. You can change this to 5, 30, or 60 minutes in settings. The 50-repo limit is just to keep things reasonable - you won’t hit GitHub’s rate limits even at that level.

Development

Project Structure

/devwatch-github
  /icons                  # Extension icons in various sizes
  /popup                  # Popup interface
    /controllers         # Popup business logic
    /views               # Popup view components
    popup.html
    popup.js
    popup.css
  /options                # Settings page
    /controllers         # Settings business logic
    /views               # Settings view components
    options.html
    options.js
  /shared                 # Shared utilities
    /api                 # GitHub API integration
    /ui                  # Shared UI components
  background.js           # Service worker for background tasks
  manifest.json           # Extension manifest (Manifest V3)

Technologies Used

Running Tests

npm test

Local Development

  1. Clone the repository
  2. Run npm install for dependencies
  3. Load as unpacked extension in Chrome
  4. Make changes and reload the extension from chrome://extensions/

Contributing

Contributions welcome! Submit issues or pull requests. See CONTRIBUTING.md for guidelines.

How to Contribute

Documentation

Roadmap

This is a side project for me, so I work on it when time allows - but I’d love to see contributions! Here are some features I’m considering:

If any of these sound useful, open an issue or submit a PR!

License

MIT License - see LICENSE file for details.

Copyright (c) 2025 Jonathan Martin

Support


[⭐ Star this repo](https://github.com/jonmartin721/devwatch-github) if you find it useful!

GitHub Devwatch - Track changes fast