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 Ledger for Mac (Apple Silicon)
First launch: The app is unsigned while in early development so you mat see a warning saying it is "damaged and can't be opened" then right-click the app and open, then repeat the same right-right and open again. Or on the command line:
xattr -cr ~/Downloads/Ledger-0.1.0-arm64.dmgThen open the DMG and drag Ledger to Applications.
- 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
- View and navigate to git worktrees
- Detect AI agent workspaces (Cursor, Claude, etc.)
- See change stats per worktree
- Convert worktree changes to branches
- 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
- View commit history with graph visualization
- Stage/unstage files with diff preview
- Commit with message and description
- Reset to previous commits
- View, apply, and pop stashes
- Preview stash contents
- Convert stash to branch
- macOS (Apple Silicon)
- GitHub CLI (
gh) — optional, for PR integration
You can download the soruce code of Ledger to contribute your ideas or fork Ledger to customise it for yourself.
# Clone the repository
git clone https://github.com/peterjthomson/ledger.git
cd ledger
# Install dependencies
npm install
# Start development server
npm run dev| 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 |
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.
- 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
MIT — see LICENSE for details.
Built with the electron-react-app template.