v0.3.0 · Now Available

Every repository.
One workspace.

l8git is a native desktop Git client for developers managing multiple repositories. Pull requests, CI/CD, conflict resolution, and an AI commit assistant — without opening a browser.

Also available for Windows and Linux · Free & Open Source

Features

Everything you need. Nothing you don't.

No more context-switching between a terminal, a browser, and three separate tools. l8git brings your entire Git workflow into one fast, native app.

my-app/ mainclean
api-server/ feat/auth5 modified
design-system/ mainclean
mobile-app/ fix/crash↑ 1 ahead
infra/ release/v21 modified

Multi-Repo Workspace

Add unlimited repositories and switch between them in tabs. Fetch, pull, and push across all repos simultaneously. Filesystem watching keeps the UI in sync automatically.

AI generated · gpt-4o-mini

feat(auth): add OAuth2 flow with PKCE

Implement authorization code flow with PKCE for secure token exchange. Add refresh token rotation and silent re-auth on expiry.

featauth.ts +82 −12pkce.ts +56 −0

AI Commit Messages

Generate Conventional Commit messages from your staged diff. Works with OpenAI, Anthropic, Google, Ollama, and any OpenAI-compatible API — fully customizable prompt.

feat: redesign dashboard layout

4 / 4 checks passed

fix: resolve race condition in auth

3 / 4 checks · 1 running

chore: upgrade all dependencies

Waiting for checks…

Pull Requests & CI/CD

GitHub and Bitbucket PR management with check runs, inline annotations, review submissions, auto-merge, and workflow reruns — without opening a browser.

~/my-app on feat/auth

$ git log --oneline -3

a1b2c3d feat(auth): add OAuth2 with PKCE

e4f5g6h fix: handle expired tokens

i7j8k9l chore: upgrade deps

~/my-app $

Embedded Terminal

A full xterm.js shell per repository. Your shell, your config — always open inside l8git. Resize, configure, and never leave the app.

← Ours
const limit = 100
const timeout = 5000
return fetch(url, { timeout })
Theirs →
const limit = 100
const timeout = 3000
return fetch(url, { timeout })
Resolved: const timeout = 5000

Conflict Resolution

Three-way merge editor powered by Monaco. View base, ours, and theirs side-by-side. Edit inline, mark resolved, and auto-stage without leaving the panel.

TypeScript 62%Rust 28%CSS 7%

Commits

1,284

Contributors

12

Branches

8

Repository Insights

Commit graph, git blame, language statistics, contributor analytics, and commit activity — all built into the app. No external dashboards required.

Comprehensive

Every Git operation you rely on.

From everyday commits to advanced workflows — stash, cherry-pick, bisect, submodules, worktrees, and hooks — all with a proper UI.

Branching

Create, checkout, delete, and track local and remote branches

Stash

Push, pop, apply, drop, and create branches from stashes

Cherry-pick

Pick commits across branches with conflict handling and abort/continue/skip

Rebase & Reset

Soft, mixed, and hard resets; merge strategies including squash and ff-only

Tags

Create, delete, and push local and remote tags in one click

Git Hooks

List, edit, toggle, and manage all repository hooks directly in the UI

Submodules

Init, update, sync, add, and deinit submodules with full UI support

Worktrees

Add, remove, lock, unlock, prune, and move git worktrees

Bisect

Start, mark good/bad/skip, view status, and reset bisect sessions

Multi-provider

GitHub, GitHub Enterprise, Bitbucket — with built-in credential management

Push Options

Force-with-lease, atomic, dry-run, no-verify, and tags mode per repo

Workflow Editor

Read, edit, and save GitHub Actions workflow YAML files directly in-app

AI

Stop writing commit messages from scratch.

l8git reads your staged diff and generates a Conventional Commit-style message in seconds. Customize the system prompt, pick your provider, and configure the output language per repository.

OpenAIAnthropicGoogleOpenRouterOllamaCompatible API
  • Conventional Commits format by default
  • Fully customizable system prompt
  • Per-repo output language setting
  • Works offline with Ollama
  • Max 48 000 chars of diff context
AI Commit Assistantclaude

Staged diff:

auth/oauth.ts +82 −12

auth/pkce.ts +56

auth/token.ts +34

feat(auth): add OAuth2 flow with PKCE

Implement authorization code flow with PKCE for secure token exchange. Add refresh token rotation and silent re-authentication on session expiry.

$ gh repo clone l8git/l8git

✓ Cloned into ./l8git

$ cd l8git && bun install

✓ 284 packages installed in 3.1s

$ bun run tauri dev

▲ l8git dev app is running

Hack away.

Built to last

Native performance.
No Electron.

l8git is built on Tauri — a Rust backend handles all Git operations via shell, HTTP, and PTY, while a React frontend delivers a fast, typed UI. Small binary. Low memory. No WebView bloat.

Tauri 2

Rust backend

React 19

TypeScript UI

Vite 7

Fast builds

Tailwind 4

Utility-first CSS

Your repositories deserve better.

l8git is free, fast, and built by developers for developers. Install it and stop context-switching.

Requires git to be installed and in your PATH