Skip to content
ifeanyidotdevPublic

About

A modern GUI for managing git projects

Resources

Stars

2 stars

Watchers

0 watching

Forks

Repository files navigation

Stagger

License: GPL v3 Tauri React TypeScript

Stagger is a modern, lightweight desktop Git GUI client built for speed, clarity, and seamless workflow management. Powered by Tauri v2, React 19, TypeScript, and Rust, Stagger provides a visual workspace for staging changes, switching branches, stashing work, and creating pull requests without leaving your desktop interface.

🖥️ Workspace Staging

Stagger Workspace Staging

📊 Interactive History Graph

Stagger History Graph


✨ Features

  • ⚡ Granular Staging & Interactive Mesh: Stage, unstage, discard, and connect individual diff hunks visually using the node-based staging canvas.
  • 📊 Interactive History Graph: Visualize commit topology DAG with branch lanes, merge tracks, release tags, commit search (by message, author, SHA, branch, or stash), and deep commit inspection with one-click actions (revert, cherry-pick, branch, tag).
  • 🌿 Branch Management: Create, checkout, and merge branches smoothly with built-in protections and safety checks.
  • 🛡️ Smart Auto-Stashing: Safely switch branches without losing uncommitted work thanks to automatic worktree stashing.
  • 📦 Stash Management: Save, view, pop, apply, or drop stashes directly within the application.
  • 🚀 Pull Request Integration: Draft and initiate GitHub/GitLab pull requests directly from your workspace.
  • 👥 Real-Time Collaboration: Built-in multiplayer mode for collaborating on repositories.
  • 🎨 Modern Theming: Premium aesthetic with Catppuccin Mocha and Latte themes, intuitive navigation, keyboard shortcuts, and responsive layouts.

🛠️ Tech Stack


🚀 Getting Started

Prerequisites

Ensure you have the following installed on your development machine:

  • Node.js (v18 or higher) & npm or bun
  • Rust (latest stable toolchain via rustup)
  • System dependencies required for Tauri development on your operating system (see Tauri Prerequisites).

Installation

  1. Clone the repository:

    git clone https://github.com/your-username/Stagger.git
    cd Stagger
  2. Install dependencies:

    npm install
    # or
    bun install

Development

Run the Tauri application in development mode with hot-reloading:

npm run tauri dev
# or
bun tauri dev

Building for Production

Build the native executable for your current OS:

npm run tauri build
# or
bun tauri build

📂 Project Structure

Stagger/
├── src/                # React 19 Frontend (TypeScript, CSS, Components)
│   ├── App.tsx         # Main Application UI & Git State Management
│   ├── App.css         # Styling system & dark purple theme
│   └── main.tsx        # React entry point
├── src-tauri/          # Tauri Rust Backend
│   ├── src/            # Rust source code & Tauri IPC handlers
│   ├── Cargo.toml      # Rust package manifests & dependencies (git2, tauri)
│   └── tauri.conf.json # Tauri configuration (window size, permissions, icons)
├── package.json        # Frontend dependencies & scripts
├── LICENSE             # GPL-3.0 License File
└── README.md           # Project documentation

📜 License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details.

Summary of GPL-3.0

You are free to:

  • Use: Run the software for any purpose.
  • Study: Inspect and modify the source code.
  • Share: Copy and redistribute the software.
  • Improve: Release your modifications to the public under the same license terms.

Under the terms of GPL-3.0, any derivative works or distributions must also be made available under the GPL-3.0 license with full source code disclosure.

About

A modern GUI for managing git projects

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages