Back to Home

GitForge Documentation

A comprehensive deep dive into the architecture, features, and setup of GitForge, the multi-platform Git client forged for developers.

1. Core Architecture

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:

  • Android: Relies 100% on 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.
  • Desktop: Uses a dual approach. It relies on git2dart for primary state and high-performance operations, but supplements this with the local git CLI binary for terminal integration and advanced operations.

2. The Blacksmith Metaphor

GitForge utilizes a cohesive "Blacksmith" theme across its UI to make Git operations feel distinct and gamified:

  • Smithies: Project folders used to organize multiple repositories.
  • Forges: Individual Git repositories.
  • The Anvil: The staging area where raw changes (unstaged files) are hammered into commits.

3. Zero-Knowledge Forge Sync

Forge Sync allows you to synchronize your Smithies, Forges, Git identities, SSH keys, and Pet Data across all your devices using Supabase.

Security Model

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.

4. AI & Gamification

AI Commit Generation

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.

Pet Companion

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.

5. Build & Setup Instructions

Android

flutter pub get flutter run -d android

macOS

Requires Xcode 15+.

flutter pub get cd macos && pod install && cd .. flutter run -d macos

Linux (Bazzite / Fedora)

It 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