GEL — Git Experience Local

Overview
GEL is a local Git GUI built with Kotlin and Compose Multiplatform Desktop. It wraps two interchangeable backends — the git CLI and the JGit library — behind a clean Material 3 interface for the daily local workflow.
No accounts, no remote sync, no reimplemented git internals. Just the parts of Git you actually use every day, in a desktop app that stays out of your way.
The name: gel means come in Turkish, and git means go. Local Git operations, handled by come instead of go.
Features
- Staging — stage or unstage individual files or everything at once; flat list and directory tree views
- Diff viewer — side-by-side diff with line numbers, hunk headers, and word-level intra-line highlighting
- Commit — commit with a message; amend the last commit with one click
- History — scrollable commit log with full diff on click; filter by message or author
- Branches — list, switch, create, and delete local branches
- Stash — stash changes with an optional message; pop or drop stash entries
- Markdown — renders
.mdfiles inline with a preview/diff toggle - Dual backend — switch between the
gitCLI and JGit at runtime
Tech Stack
- Kotlin 2.1.0
- Compose Multiplatform Desktop 1.7.0
- Material 3 design system
- JGit 7.6.0 — library backend
- java-diff-utils — word-level diff highlighting
- Kotlin Coroutines — non-blocking git operations on
Dispatchers.IO