PullPreview is a cross-platform desktop application designed to streamline the developer workflow by providing a real-time, local preview of Git differences. It allows developers to visualize changes between their current working branch (including uncommitted modifications) and a selected target branch before creating a formal pull request. The application offers a minimal, modern, and intuitive interface that mimics the core diff-viewing experience of platforms like GitHub/GitLab but operates entirely locally.
- Supported OS: macOS, Windows, and Linux
- Built with: Electron.js
- Current version: 1.0.0
- Select any Git repository on your file system
- Validation ensures the selected folder contains a valid
.gitdirectory - The application remembers your last opened repository and target branch for convenience
- Automatically detects and displays your current active branch
- Select any target branch for comparison from a dropdown menu
- Supports both local and remote-tracking branches
- Remembers your last selected target branch between sessions
- Real-time display of differences between your working branch and the target branch
- Clear, scrollable view of all changed files with expandable/collapsible sections
- Visual indicators for additions and deletions with appropriate color coding
- Syntax highlighting using the Hack monospaced font for improved readability
- Supports multiple sort options (Last Modified, A-Z, Z-A)
- Configure automatic refresh in settings
- When enabled, the diff view updates automatically when:
- Local files change in your repository
- Remote changes are detected on the target branch
- Manual refresh button (or keyboard shortcut ⌘R) available when auto-refresh is disabled
- Click on any file in the diff view to open it in your preferred editor
- Configure your preferred editor in settings (system default, VS Code, Sublime Text, Atom, or custom)
- Seamlessly transition from reviewing changes to making edits
- Modern, clean design that follows desktop application standards
- Full support for both light and dark modes across all platforms
- Clear header showing current branch and target branch
- Responsive layout that adapts to different window sizes
- Keyboard shortcuts for common operations (⌘N for new window, ⌘O for open repository, ⌘R for refresh, ⌘, for settings)
- Built with Electron.js for cross-platform compatibility
- Uses simple-git for reliable Git integration
- File system monitoring via chokidar for real-time updates
- Persistence of preferences and recently used repositories
- Graceful error handling for all Git operations and edge cases
- Full app state persistence between sessions
- Git must be installed and accessible in your PATH
- Node.js 16+ (if building from source)
Download the latest version for your platform from the releases page.
# Clone the repository
git clone https://github.com/truefrontier/pullpreview-app.git
# Install dependencies
cd pullpreview-app
npm install
# Start the application
npm start
# For development with hot reloading
npm run dev# Build for your current platform
npm run build
# Package the application
npm run pack
# Generate macOS icons (macOS only)
npm run generate-icons- ⌘N - Open new window
- ⌘O - Open repository
- ⌘R - Refresh diff
- ⌘, - Open settings
- ⌘+ / ⌘- - Zoom in/out
See our ROADMAP.md file for upcoming features and enhancements.
This project is licensed under the MIT License - see the LICENSE file for details.
