Skip to content

Blakenator/light-git-client

Repository files navigation

Light Git Client

A lightweight, feature-rich Git GUI built with Electron.

Build Status

Documentation | Download | Features

Screenshots

Dark Main Screen Light Main Screen New Tab Screen Diff Viewer Active Merge Operation Prune Branches Dialog Merge Branches Dialog

Development

Prerequisites

Project Structure

This is a pnpm monorepo with the following packages:

Package Description
packages/backend Electron main process — Git operations, IPC handlers, file system access
packages/frontend React + Vite UI rendered in the Electron browser window
packages/shared Shared TypeScript types and models used by both backend and frontend
packages/core Shared UI components and utilities
packages/docs Documentation site (VitePress) and screenshot capture tooling (Playwright)

Getting Started

# Clone the repository
git clone https://github.com/Blakenator/light-git-client.git
cd light-git-client

# Install dependencies (also runs the initial build via postinstall)
pnpm install

Running in Development

# Start the Vite dev server + Electron together
pnpm start

This builds all packages, starts the Vite dev server on http://localhost:4200, waits for it to be ready, then launches Electron pointing at the dev server.

For faster iteration on the backend (main process) only:

# Watch backend source and auto-restart Electron on changes
pnpm electron:serve

For frontend-only development (no Electron window):

# Start all dev servers in parallel (frontend + backend watch)
pnpm dev

Building

# Build all packages (shared → backend → frontend)
pnpm build

# Run the built app locally without packaging
pnpm electron:local

Packaging & Distribution

Build platform-specific distributables using electron-builder:

# macOS (.dmg, .zip)
pnpm electron:mac

# Windows (NSIS installer, portable .exe, .7z, .zip)
pnpm electron:windows

# Linux (AppImage, .deb)
pnpm electron:linux

Output goes to app-builds/.

Releasing

Tagged releases are published to GitHub Releases via CI. To publish manually:

pnpm release:mac
pnpm release:windows
pnpm release:linux

These build and upload artifacts with -p always, requiring a GITHUB_TOKEN with release permissions.

Testing

# Run backend tests
pnpm test-node

# Run backend tests in watch mode
pnpm test-node-watch

Documentation Site

The documentation is built with VitePress and deployed to GitHub Pages.

# Start the docs dev server
pnpm docs:dev

# Build the docs site
pnpm docs:build

# Capture/update documentation screenshots
pnpm docs:screenshots

See the full documentation at blakenator.github.io/light-git-client for installation guides, feature walkthroughs, and configuration details.

Clean

# Remove all build artifacts and node_modules
pnpm clean

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages