JetBrains plugin to aggregate GitHub issues and PRs across organizations and repositories into a single IDE-native interface with LLM context extraction.
OrbiTrack brings your GitHub issues and pull requests into your JetBrains IDE. Instead of switching between browser tabs, you can browse, filter, comment on, and manage issues and PRs from multiple repositories β all from a single tool window.
- π Unified View β See issues and PRs from all your tracked repositories in one list
- π Incremental Sync β Fast delta updates via the GitHub Search API; full data on first load
- π¬ Inline Comments β Read, create, edit, and delete comments without leaving the IDE
- π·οΈ Rich Filtering β Filter by org, repo, type (issue/PR), and state (open/closed/merged)
- π Grouping & Sorting β Group by org, repo, or type; sort by updated date, created date, or ID
- π PR Management β View mergeability status, merge PRs (merge/squash/rebase), and checkout branches
- π€ LLM Context β One-click copy of structured issue context to clipboard for use with AI assistants
- π Markdown Rendering β Issue bodies and comments rendered as formatted HTML
- β±οΈ Timeline β View issue/PR history (labels, assignments, closures, renames, merges)
- π Create Issues β Open new GitHub issues directly from the IDE
- ποΈ Cache-first β Previously loaded data appears instantly on IDE restart
- π Secure Auth β GitHub PAT stored in the IDE's native credential store
- Open your JetBrains IDE (IntelliJ IDEA, WebStorm, PyCharm, etc.)
- Go to Settings β Plugins β Marketplace
- Search for OrbiTrack
- Click Install and restart the IDE
- Download the latest
.zipfrom Releases - Go to Settings β Plugins β βοΈ β Install Plugin from Diskβ¦
- Select the downloaded
.zipfile - Restart the IDE
- Go to GitHub β Settings β Developer settings β Personal access tokens β Tokens (classic)
- Click Generate new token (classic)
- Select scopes:
repoβ Full control of private repositories (orpublic_repofor public only)read:orgβ Read organization membership
- Copy the generated token
- Go to Settings β Tools β OrbiTrack
- Paste your GitHub Personal Access Token
- Click Apply
- Open a project that contains GitHub repositories
- Click the OrbiTrack tab on the right side of the IDE (or via View β Tool Windows β OrbiTrack)
- OrbiTrack will automatically detect GitHub repos from your project's
.git/configand start syncing
The tool window is split into two panels:
- Left panel β Filterable list of issues and PRs across all tracked repos
- Right panel β Detail view for the selected item
Use the filter dropdowns to narrow by:
| Filter | Options |
|---|---|
| Org | All Orgs, or a specific organization |
| Repo | All Repos, or a specific repository |
| Type | All Types, Issues, PRs |
| State | Open, All States, Closed, Merged |
- Sort by Last Updated, Created Date, or ID (ascending/descending)
- Group by any combination of Org, Repo, and Type for hierarchical views
- Click + Add Comment to post a new comment
- Your own comments show Edit and Delete buttons
- Comments are rendered with full markdown support
For open PRs, OrbiTrack shows:
- β Mergeability status (clean, conflicts, or checking)
- Branch info (head β base)
- Merge PR button with method chooser (merge commit, squash, rebase)
- Checkout Branch button to switch to the PR branch locally (supports fork PRs)
Click Copy LLM Context to copy a structured summary of the issue/PR to your clipboard, including:
- Title, repo, state, labels, author, assignees
- Full description
- All comments with authors and timestamps
- Metadata and GitHub URL
This is designed to be pasted into AI assistant conversations for context-aware help.
Click the + button in the toolbar to create a new GitHub issue:
- Select the target repository
- Enter title, body (markdown), labels, and assignees
- The issue is created via the GitHub API and immediately appears in your list
On project open, OrbiTrack scans for GitHub repositories by:
- Reading
.git/configfrom project content roots - Checking the project base directory
- Scanning immediate subdirectories (supports monorepo/org-folder layouts)
Both HTTPS (https://github.com/org/repo.git) and SSH (git@github.com:org/repo.git) remotes are recognized.
- First load β Fetches issues and PRs from each tracked repo via the GitHub REST API
- Subsequent refreshes β Uses the GitHub Search API with
updated:>timestampfor fast incremental updates - Delta merge β New and updated items are merged into the cache; stale items are pruned by state
- Manual refresh β The toolbar Refresh button forces a full re-fetch
All data is cached in .idea/orbitrack-cache.json:
- Items, tracked repos, filter state, and last refresh timestamp are persisted
- On IDE restart, cached data is displayed immediately while a background sync runs
- Cache is updated automatically on every data change and at project close
| Layer | Technology |
|---|---|
| Language | Kotlin 2.1.10 |
| Build | Gradle (Kotlin DSL) + IntelliJ Platform Plugin SDK v2 |
| Platform | IntelliJ IDEA 2025.1+ (Community & Ultimate) |
| GitHub API | OkHttp 4.12 + kotlinx.serialization 1.6.3 |
| Local Cache | JSON file (.idea/orbitrack-cache.json) |
| Async | Kotlin Coroutines (kotlinx.coroutines) |
| UI | JetBrains Platform UI (Tool Window, JBList, JBSplitter, JEditorPane) |
| Auth | GitHub PAT stored via IDE PasswordSafe |
| JVM | Java 21 |
- JDK 21+
- Gradle 9.4.1 (included via wrapper)
./gradlew buildPluginThe plugin distribution (.zip) will be in build/distributions/.
./gradlew runIde./gradlew testsrc/main/kotlin/io/orbitrack/idea/
βββ actions/ # Toolbar and context menu actions
β βββ RefreshAction.kt
β βββ CreateIssueAction.kt
βββ api/ # GitHub REST API client layer
β βββ GitHubClient.kt # Interface
β βββ OkHttpGitHubClient.kt # OkHttp implementation
β βββ GitHubModels.kt # Serializable API response models
βββ cache/ # Local JSON cache
β βββ OrbiCacheManager.kt
βββ llm/ # LLM integration (v2 β reserved)
βββ model/ # Core data models
β βββ OrbiItem.kt
βββ services/ # IDE services
β βββ OrbiTrackAppService.kt # App-level: PAT storage, client factory
β βββ OrbiTrackProjectService.kt # Project-level: sync, data, actions
β βββ GitRepoDetector.kt # Auto-detect GitHub repos
βββ settings/ # Plugin settings UI
β βββ OrbiTrackConfigurable.kt
βββ sync/ # Background sync engine (v2 β reserved)
βββ ui/ # Tool window and panels
βββ OrbiTrackToolWindowFactory.kt
βββ OrbiTrackPanel.kt
βββ FilterPanel.kt
βββ ItemDetailPanel.kt
βββ ItemCellRenderer.kt
βββ ListEntry.kt
βββ MarkdownRenderer.kt
This project is licensed under the Apache License 2.0 β see the LICENSE file for details.