Skip to content

jakduch/thirdeye

Repository files navigation

ThirdEye.git

ThirdEye.git

Latest Release Downloads License Platform macOS Windows Linux
Electron React TypeScript Redux Toolkit Material UI GitHub API GitLab API Bitbucket API
GitHub Stars Open Issues Last Commit Code Size

A desktop app for monitoring your GitHub, GitLab & Bitbucket repositories — pull requests, merge requests, issues, notifications, and CI checks — all in one place. Supports multiple accounts per provider.


Features

  • Multi-Provider — GitHub, GitLab, and Bitbucket support with multiple accounts per provider, all polled simultaneously.
  • Pull Requests & Issues — View all your open PRs, MRs, and issues across repositories and providers with state indicators, labels, and CI check status.
  • Notifications — Real-time notifications (GitHub notifications, GitLab Todos) with unread indicators and the ability to mark as read.
  • OS Notifications — Get native desktop notifications for new comments, state changes, CI completions, and merges.
  • Detail View — Full PR/MR/Issue detail with comments, diff stats, linked items, and the ability to post comments directly.
  • CI Check Status — Monitor check runs and pipelines (passing, failing, pending) for each pull request at a glance.
  • Dark & Light Mode — GitHub Primer-inspired theme with automatic system theme detection.
  • Persistent Cache — API responses are cached with ETag-based conditional requests and survive app restarts.
  • System Tray — Runs in the background with an unread count badge in the system tray.
  • Auto-start — Optional launch at system startup on macOS, Windows, and Linux.
  • Filter Controls — Show/hide closed items, filter by repository, and manage watched/ignored repos.
  • Auto-Update — Built-in update checker with automatic downloads. Native electron-updater on supported platforms; GitHub Releases API fallback otherwise.
  • Multi-Account Management — Add, remove, enable, and disable accounts for any provider directly from Settings.

Installation

Download the latest release for your platform from the Releases page:

Platform File Distros
macOS (Universal) ThirdEye-x.x.x-mac-universal.dmg Intel & Apple Silicon
Windows ThirdEye-x.x.x-win-setup.exe Windows 10+
Linux (deb) ThirdEye-x.x.x-linux-*.deb Debian, Ubuntu, Mint, Pop!_OS
Linux (rpm) ThirdEye-x.x.x-linux-*.rpm Fedora, RHEL, CentOS, openSUSE
Linux (AppImage) ThirdEye-x.x.x-linux-*.AppImage Any distro (no install needed)

Build from Source

Prerequisites

Steps

git clone https://github.com/jakduch/thirdeye.git
cd thirdeye
npm install
npm run build
npm start

Package for Distribution

npm run dist          # Build for current platform
npm run dist:mac      # macOS Universal DMG + ZIP (auto-update)
npm run dist:win      # Windows NSIS installer
npm run dist:linux    # Linux DEB, RPM, and AppImage (x64 + ARM64)
npm run dist:all      # Build for all platforms

Configuration

On first launch, the app will ask you to connect at least one account. You can add more accounts at any time from Settings → Connected Accounts → Add account.

Provider Token type Required scopes
GitHub Personal Access Token repo, notifications
GitLab Personal Access Token api, read_user
Bitbucket App Password Repositories: Read, Pull requests: Read/Write

All credentials are stored locally via electron-store and never leave your machine.

Auto-Update

ThirdEye checks for updates automatically on startup (with a 5-second delay) and can also be triggered manually from Settings → Updates.

Platform Mechanism Behaviour
macOS (ZIP) electron-updater Silent download → restart prompt
Windows (NSIS) electron-updater Silent download → restart prompt
Linux (AppImage) electron-updater Silent download → restart prompt
Linux (DEB/RPM) GitHub API fallback Installer downloaded to ~/Downloads

When electron-updater is available, updates are downloaded in the background and a system notification prompts you to restart. On platforms where electron-updater isn't supported (e.g. DEB/RPM packages), the app fetches the latest release from the GitHub API and saves the correct installer to your Downloads folder.

Auto-update can be enabled or disabled in Settings → Updates → Automatic updates.

Architecture

ThirdEye is an Electron application with a React frontend and a Node.js backend:

  • Main process — Multi-provider polling engine with a pluggable provider architecture (BaseProviderGitHubProvider, GitLabProvider, BitbucketProvider). GitHub uses @octokit/rest with ETag caching; GitLab and Bitbucket use native fetch against their v4/v2 REST APIs. An AggregatePollingManager polls all accounts in parallel and merges results.
  • Renderer process — React 19 UI with Redux Toolkit for state management and Material UI components styled with GitHub Primer design tokens. Unified item lists with provider badges and per-account filtering.
  • IPC bridge — Type-safe, account-aware communication between main and renderer processes.

Acknowledgements

ThirdEye.git is built with the following open-source libraries:

Library License Author(s)
Electron MIT OpenJS Foundation & Electron contributors
React MIT Meta Platforms, Inc.
TypeScript Apache-2.0 Microsoft Corporation
@octokit/rest MIT Octokit contributors
electron-updater MIT electron-userland
Redux Toolkit MIT Mark Erikson & Redux team
Material UI MIT MUI contributors
electron-store MIT Sindre Sorhus
electron-builder MIT electron-userland
react-markdown MIT Titus Wormer & unified collective
remark-gfm MIT Titus Wormer & unified collective
React Router MIT Remix Software, Inc.
React Redux MIT Dan Abramov & Redux team
Emotion MIT Emotion team & contributors
webpack MIT JS Foundation & webpack contributors

Thank you to all the maintainers and contributors of these projects.

License

This project is licensed under the BSD 3-Clause License.

Copyright (c) 2026, Jakub Duch.

Packages

 
 
 

Contributors

Languages