Windows-focused Git client — Pull Requests, CI monitoring, notifications, AI commit messages, and an embedded terminal. Built with Tauri 2, React, and TypeScript.
Stage, unstage, and discard files — per-file, per-hunk, or in bulk. Commit, pull, push, and fetch from a unified workspace.
- Changes view with staged, unstaged, and untracked file lists
- Diff viewer with syntax highlighting (unified and side-by-side)
- Commit history with branch topology graph and per-commit diffs
- Branch management — create, checkout, and visual branch graph
- Stash panel — push, pop, and drop stashes
- File tree browser — explore the repo from within the app
Connect your GitHub account to manage pull requests, notifications, and explore repositories without leaving the app.
- Pull Requests — list open PRs for any repo with one click to open in browser
- Notifications — desktop toasts and in-app notification panel with mark-as-read
- Discover Hub — activity feed, repository search, trending repos, and your repos
- Device Flow auth — secure OAuth sign-in via GitHub.com, tokens stored in Windows Credential Manager
Watch CI runs live from the app. Stream logs in real time, fork repos, and create releases — all powered by GitHub CLI.
- Run list — view recent workflow runs with status and workflow name
- Live log streaming — watch a run in real time with output streamed to a dialog
- Fork & release — fork repos and create GitHub releases from the developer panel
Generate conventional commit messages from your staged diffs using AI. Supports multiple providers.
- OpenCode (free, included) — uses
deepseek-v4-flash-freemodel - Kilo — bring your own API key and custom base URL
- Test connection — verify your AI provider before committing
Full pseudo-terminal (PTY) embedded in a resizable pane at the bottom of the workspace. Multi-session support with configurable shells.
- Multi-session — spawn multiple terminal sessions, switch between tabs
- Configurable shell — PowerShell 7, Windows PowerShell 5, CMD, or custom shell path
- Auto-cwd — opens at the active repository root
A polished, responsive interface built for daily use.
- Resizable panels — sidebar, file list, right rail, and terminal height all adjustable
- Four themes — GitHub Dark, GitHub Light, Dim, and High Contrast with light/dark/system mode
- Command palette — fuzzy-search for commands, repos, and branches (Ctrl+Shift+P)
- Keyboard shortcuts — pull (Ctrl+Shift+G), commit focus (Ctrl+Shift+C), sidebar toggle (Ctrl+B), refresh (F5)
- System tray — minimize to tray with right-click actions (pull, notifications, discover, settings)
- Windows Explorer integration — "Open with GitLurk Desktop" context menu for folders
- Browser extension — "Open with GitLurk Desktop" in GitHub’s Code → Local menu (
packages/extension)
The gitlurk CLI wraps common GitHub and Git workflows:
gitlurk # open current directory in GitLurk Desktop
gitlurk open <path> # open a local repository
gitlurk clone <url> # clone via the desktop app
# GitHub CLI shortcuts
gitlurk gh run list
gitlurk runs
gitlurk watch [run-id]
gitlurk fork [repo]
gitlurk release create <tag>
# Git config management
gitlurk git config list --global
gitlurk git config set user.email "you@example.com" --globalExtend GitLurk with plugins from the marketplace. Plugins run in sandboxed child processes with declared permissions.
- Marketplace browser — discover and install plugins from the in-app catalog
- Permissions model —
git.read,ui.toast,http.fetch - JSON-RPC protocol — host communicates with plugins over stdin/stdout
- Path validation — all Git operations validate paths against
..traversal and system directories - IPC isolation — all Tauri
invokecalls go through a single typed wrapper - Protocol allowlist —
gitlurk://protocol only acceptsgithub.comhosts - Token storage — credentials stored in Windows Credential Manager, never exposed to the renderer
- Plugin sandboxing — child processes with declared permissions, no filesystem access by default
- Windows 10 or 11
- Git — bundled portable Git is included as a fallback
- GitHub CLI (optional) — for CI features and developer panel
Download the latest installer from Releases:
| Installer | Format |
|---|---|
| GitLurk.Desktop.msi | Windows MSI |
| GitLurk.Desktop-setup.exe | NSIS installer |
Or install the CLI companion:
npm i -g @involvex/gitlurk-desktop
gitlurk install-desktop- Open a repo — click "Open repository" or drag a folder onto the window
- Stage changes — select files in the Changes view and click stage
- Review diffs — click any file to see the diff
- Commit — write a message or generate one with AI
- Push — push to the remote
- Click Sign In in the sidebar
- Enter the code at
https://github.com/login/device - Pull requests, notifications, and discover features unlock automatically
# Prerequisites: Bun >=1.3.0, Rust toolchain
bun install
bun run --filter @gitlurk/shared build
# Frontend-only dev server
bun run dev
# Full desktop app (required for IPC)
bun run tauri:devpackages/
├── app/ # Tauri desktop application (React + Rust)
│ ├── src/ # React frontend
│ └── src-tauri/ # Rust backend
├── shared/ # Typed IPC contracts and protocol parser
├── git/ # Hybrid Git service (system + bundled fallback)
├── gh/ # GitHub CLI wrapper
├── cli/ # CLI companion (gitlurk command)
├── plugin-sdk/ # Plugin API type definitions
├── extension/ # Chrome/Edge WebExtension bridge (see packages/extension/README.md)
└── plugins/ # Plugin packages
bun run lint # ESLint
bun run format:check # Prettier check
bun run typecheck # TypeScript type checking
bun test # Run all testsMIT © GitLurk

