
A comprehensive deep dive into the architecture, features, and setup of GitForge, the multi-platform Git client forged for developers.
GitForge is built using Flutter, targeting Android (Mobile) and macOS/Windows/Linux (Desktop). Because mobile and desktop environments have fundamentally different capabilities, the app employs a hybrid approach to Git operations:
libgit2 (via the git2dart FFI bindings). Android has no shell access and its FUSE filesystem blocks `mmap()` on external storage, requiring pack files to be kept in the internal cache.git2dart for primary state and high-performance operations, but supplements this with the local git CLI binary for terminal integration and advanced operations.GitForge utilizes a cohesive "Blacksmith" theme across its UI to make Git operations feel distinct and gamified:
Forge Sync allows you to synchronize your Smithies, Forges, Git identities, SSH keys, and Pet Data across all your devices using Supabase.
Forge Sync uses a Zero-Knowledge architecture. All sensitive data (repository URLs, project names, git identities, and SSH private keys) are AES-256-GCM encrypted client-side before being uploaded. The database only stores ciphertext, nonces, and sync timestamps.
Synced repositories that aren't cloned locally yet appear as "Synced — Not Cloned" cards, offering a seamless one-tap clone flow.
The Desktop "Anvil" features a dedicated AI generation button that reads staged diffs and uses Google Gemini or Anthropic Claude APIs to suggest professional, standardized commit messages.
Making commits hatches a mystery egg into a Flame Spirit. Your throughput, latency, and firewall stats level up based on your commit activity. XP and levels are synchronized across all devices via Forge Sync.
flutter pub get flutter run -d androidRequires Xcode 15+.
flutter pub get cd macos && pod install && cd .. flutter run -d macosIt is highly recommended to build inside a Distrobox.
distrobox create --name flutter-dev --image fedora:latest distrobox enter flutter-dev sudo dnf install clang cmake ninja-build pkgconf-pkg-config gtk3-devel \ libstdc++-devel xz-devel mesa-libEGL-devel libsecret-devel flutter pub get flutter run -d linux