A modern, opinionated Git client that makes Gitflow workflows a first-class citizen.
- The Problem
- The Solution
- Features
- Tech Stack
- Getting Started
- Usage
- Architecture
- Project Structure
- Roadmap
- Contributing
- License
- Acknowledgments
Most Git GUIs treat Gitflow as an afterthought -- buried in menus or requiring manual branch naming. Developers end up memorizing naming conventions, juggling terminal commands, and hoping they picked the right base branch. The result is friction that discourages teams from adopting a structured branching strategy.
FlowForge puts Gitflow front and center with a dedicated desktop app that makes branching, releasing, and hotfixing intuitive. Start a feature, release, or hotfix with a single click -- FlowForge handles the naming, the base branch, and the merge targets so you can focus on writing code.
- Gitflow-First Design - Start features, releases, and hotfixes with a single click. FlowForge understands your branching strategy.
- Visual Topology - See your commit history as an interactive graph with branch relationships clearly displayed.
- Staging Area - Stage individual files or hunks with a clean, intuitive interface.
- Conventional Commits - Built-in support for conventional commit format with validation and type selection.
- Branch Management - Create, switch, merge, and delete branches without leaving the app.
- Stash Operations - Save and restore work-in-progress with full stash management.
- Tag Support - Create and manage both lightweight and annotated tags.
- Worktree Management - Work on multiple branches simultaneously with git worktree support.
- Beautiful Theme - Catppuccin Mocha color scheme throughout for a consistent, eye-friendly experience.
| Layer | Technology |
|---|---|
| Framework | Tauri 2 |
| Frontend | React 19, TypeScript |
| Styling | Tailwind CSS v4 |
| Backend | Rust |
| Git Engine | libgit2 via git2-rs (no shell-out) |
| State Management | Zustand + TanStack Query |
| Visualization | React Flow + dagre |
| Animations | Framer Motion |
macOS:
xcode-select --installLinux (Debian/Ubuntu):
sudo apt update
sudo apt install libwebkit2gtk-4.1-dev build-essential curl wget libssl-dev libgtk-3-dev libayatana-appindicator3-dev librsvg2-devWindows:
- Visual Studio 2022 with C++ build tools
- WebView2 (included in Windows 11, or install from Microsoft)
Option 1 -- Pre-built Releases (recommended)
Download the latest release from the Releases page.
- macOS (Apple Silicon): Download the
.dmgfile and drag FlowForge to your Applications folder. - Windows: Download the
.msiinstaller and run it. - Linux: Download the
.debpackage or.AppImagefile.
macOS users: FlowForge is not code-signed with an Apple Developer certificate. macOS Gatekeeper will show a "damaged" error when you first open the app. To fix this, run the following command in Terminal after installing:
xattr -cr /Applications/FlowForge.app
Option 2 -- From Source
git clone https://github.com/Atypical-Consulting/FlowForge.git
cd FlowForge
pnpm install
pnpm tauri buildThe built application will be in src-tauri/target/release/bundle/.
# Start the full Tauri app with hot reload
pnpm tauri dev
# Run the frontend only (without Tauri shell)
pnpm dev- Start a Feature -- Click the "New Feature" button, enter a name, and FlowForge creates
feature/<name>fromdevelop. - Start a Release -- Click "New Release", enter a version, and FlowForge creates
release/<version>fromdevelop. - Start a Hotfix -- Click "New Hotfix", enter a version, and FlowForge creates
hotfix/<version>frommain. - Finish -- When done, FlowForge merges the branch back into the correct targets and cleans up.
# Run tests
pnpm test
# Type check
pnpm type-check
# Lint and format
pnpm check┌─────────────────────────────────────────────┐
│ React Frontend │
│ (React 19 + Tailwind + Zustand + R.Flow) │
├─────────────────────────────────────────────┤
│ Tauri Bridge (IPC) │
│ (Commands + Events + FS) │
├─────────────────────────────────────────────┤
│ Rust Backend │
│ (Command Handlers + Logic) │
├─────────────────────────────────────────────┤
│ libgit2 (git2-rs) │
│ (Repo / Branch / Commit / Diff) │
└─────────────────────────────────────────────┘
FlowForge/
├── src/ # React frontend
│ ├── components/ # UI components
│ ├── stores/ # Zustand state stores
│ ├── hooks/ # Custom React hooks
│ └── lib/ # Utilities
├── src-tauri/ # Rust backend
│ ├── src/
│ │ ├── commands/ # Tauri command handlers
│ │ └── git/ # Git operations (libgit2)
│ └── Cargo.toml
├── docs/ # VitePress documentation site
├── package.json
└── tauri.conf.json
- Release management wizard with changelog generation
- Hotfix wizard with cherry-pick support
- Team collaboration features (shared branch policies)
- Custom branch naming policies
- Interactive rebase visualizer
- Built-in diff and merge conflict resolver
Want to contribute? Pick any roadmap item and open a PR!
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes using conventional commits (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
MIT © 2026 Atypical Consulting
- Catppuccin for the beautiful color palette
- Tauri for the amazing desktop framework
- libgit2 for robust Git operations
Built with care by Atypical Consulting -- opinionated, production-grade open source.
