Ledger: Source Control for Agent and Human Collaboration
A modernised git interface for macOS β view pull requests, worktrees, branches and stashes at a glance
Version control is the heart of software development. The core ledger concept behind git source control is robust and battle tested but modern tooling and interfaces have not kept up with the rapid increase in volume and velocity of code being generated by coding agents and modern software development teams empowered with AI tools. Ledger is your command & control radar for overseeing changes made by multiple local and remote coding agents.
Download
- macOS (Apple Silicon, zip): Releases
- Linux (Ubuntu/Debian x64, .deb): [Releases](https://github.com/peteβ¦
Ledger: Source Control for Agent and Human Collaboration
A modernised git interface for macOS β view pull requests, worktrees, branches and stashes at a glance
Version control is the heart of software development. The core ledger concept behind git source control is robust and battle tested but modern tooling and interfaces have not kept up with the rapid increase in volume and velocity of code being generated by coding agents and modern software development teams empowered with AI tools. Ledger is your command & control radar for overseeing changes made by multiple local and remote coding agents.
Download
- macOS (Apple Silicon, zip): Releases
- Linux (Ubuntu/Debian x64, .deb): Releases
- Linux (AppImage x64, optional): Releases β may require
fuse3on some distros - Windows (NSIS installer): Built on a Windows runner; grab the Windows asset from Releases when available
macOS first launch: macOS may warn the app is βdamagedβ or βfrom the internetβ. Right-click β Open (sometimes twice) or:
xattr -cr ~/Downloads/Ledger*.zipThen move Ledger to Applications.
Features
π Pull Request Integration
- View open PRs from GitHub (via
ghCLI) - Filter by status: Open, Drafts, All
- See PR details, reviews, and inline diffs
- Create PRs directly from branches
π³ Worktree Support
- View and navigate to git worktrees
- Detect AI agent workspaces (Cursor, Claude, etc.)
- See change stats per worktree
- Convert worktree changes to branches
πΏ Branch Management
- View all local and remote branches with metadata (commit dates, counts)
- Filter: All, Local Only, Unmerged
- Sort: Name, Last Commit, First Commit, Most Commits
- Double-click to switch branches with auto-stash
π Commit & Staging
- View commit history with graph visualization
- Stage/unstage files with diff preview
- Commit with message and description
- Reset to previous commits
π¦ Stash Management
- View, apply, and pop stashes
- Preview stash contents
- Convert stash to branch
π§ Opinionated Git (paper-cut removal)
- Auto-stash for common operations (switching/pulling) where safe
- PR Preview (βvirtual mergeβ) to answer βwhat would this branch contribute right now?β
- Leapfrog-style flows for staying current without losing context
- Mailmap support for consistent commit author names
See: Opinionated Git Behaviors
Requirements
- macOS (Apple Silicon)
gitavailable on PATH- GitHub CLI (
gh) β optional, for PR integration
Privacy & security
- Ledger runs locally and shells out to
git/ghfor operations. - Auth and network access (for GitHub) are handled by
ghand your git remote configuration.
Development
You can download the source code of Ledger to contribute your ideas or fork Ledger to customize it for yourself.
Setup
# Clone the repository
git clone https://github.com/peterjthomson/ledger
cd ledger
# Install dependencies
npm install
# Start development server
npm run dev
Available Scripts
| Command | Description |
|---|---|
npm run dev | Start development with hot reload |
npm run lint | Run ESLint |
npm run format | Format code with Prettier |
npm test | Run E2E tests |
npm run build:mac:arm64 | Build for Apple Silicon |
Project Structure
ledger/
βββ app/ # Renderer process (React UI)
β βββ app.tsx # Main React component
β βββ styles/ # CSS styles
β βββ types/ # TypeScript declarations
βββ lib/ # Main process (Electron)
β βββ main/ # Main process code
β βββ preload/ # Preload scripts
βββ tests/ # E2E tests (Playwright)
βββ docs/ # Documentation
See CONTRIBUTING.md for detailed development guidelines.
Tech Stack
- Electron β Cross-platform desktop framework
- React 19 β UI library
- TypeScript β Type-safe JavaScript
- simple-git β Git operations
- GitHub CLI β Pull request data
- Playwright β E2E testing
Documentation
License
MIT β see LICENSE for details.
Acknowledgments
Built with the electron-react-app template.