gitxelectron
v1.3.9
Published
An elegant, completely silent auto-syncing Git client. Works as a desktop app and npm CLI tool.
Readme
GitElectron (by PushGitX) ⚡
An elegant, silent, auto-synchronizing Git engine and AI-powered workflow assistant.
Works as a high-performance desktop application and an instant, zero-install terminal CLI.
"I just write code. GitElectron takes care of Git."
📑 Table of Contents
- Overview
- Real-World Problem Solvers
- How It Compares
- System Architecture
- Quick Start
- CLI Reference
- Tech Stack
- Development & Building
- License
🌟 Overview
GitElectron bridges the gap between terminal efficiency and modern visual developer ergonomics. Built for fullstack developers, AI/ML engineers, and cross-functional teams, it removes the repetitive manual friction of staging, committing, resolving push conflicts, and managing oversized assets.
🚀 Real-World Problem Solvers
1. Big File Streaming Splitter (>95MB)
- The Problem: GitHub strictly blocks any single file $\ge 100\text{ MB}$. A single oversized model checkpoint, archive, or dataset can corrupt push history and lock an entire repository.
- The Solution:
- Automatically identifies files exceeding 95MB.
- Streams and chunks them at $>500\text{ MB/s}$ into compliant $\le 45\text{ MB}$ parts (
.part00,.part01, etc.). - Generates a cryptographic SHA-256 manifest (
.split-manifest.json). - Automatically isolates the original file from Git index via
.git/info/exclude. - Reassembles files with a single command (
./auto-restore.shornpm run auto-restore) on any machine with byte-for-byte SHA-256 verification.
2. 60 FPS Virtualized Commit Receipt (50,000+ Files)
- The Problem: Opening commits with tens of thousands of modified files crashes or freezes standard Git GUIs (like GitHub Desktop or Sourcetree) due to massive DOM overhead.
- The Solution:
- Implements DOM Virtualization inside an iOS Glassmorphism thermal receipt printer.
- Renders only the $\sim 20$ rows currently in the viewport while supporting smooth native scrolling across 49,000+ files in $0\text{ms}$.
- Includes real-time fuzzy search and instant addition/deletion statistics.
3. AI Auto-Healer for Cryptic Git Errors
- The Problem: Unresolved merge conflicts, non-fast-forward push rejections, detached HEADs, and stale lockfiles derail developer focus.
- The Solution:
- Raw Git stderr is analyzed in real-time by Google Gemini or DeepSeek via an isolated backend service.
- Automatically generates an explanation and the exact, safe terminal commands to resolve the issue with 1-click execution.
4. Zero-Leak Security Interceptor
- The Problem: Bot scrapers scan public GitHub repositories for
.env, private keys, and tokens within milliseconds of a push. - The Solution:
- The staging pipeline scans unstaged files against strict regex patterns (
.env*,*.pem,*.key,id_rsa,id_ed25519,credentials.json). - Automatically isolates matching secrets before staging and adds them to
.git/info/exclude.
- The staging pipeline scans unstaged files against strict regex patterns (
5. Massive Repository Engine
- The Problem: Staging 20,000+ files simultaneously causes RPC timeouts, packet memory overflows, and terminal freezes.
- The Solution:
- Batches staging in chunks of 5,000 files.
- Automatically tunes network memory buffers:
http.postBuffer = 1GBpack.windowMemory = 256MBpack.packSizeLimit = 500MB
- Shows live transfer speeds and ETA in real time.
6. Universal Push Wizard
- The Problem: Non-technical team members or developers wanting to push an untracked local directory must run 8+ terminal setup commands.
- The Solution:
- Drag and drop any folder into the window.
- GitElectron detects collisions, clones sparse remotes, and pushes directly to any target branch without prior manual
git init.
📊 How It Compares
| Feature | Standard Git CLI | GitHub Desktop | GitElectron (PushGitX) |
| :-------------------------- | :-------------------------: | :----------------------: | :---------------------------------: |
| Files > 100MB | ❌ Hard Rejection | ❌ Hard Rejection | ✅ Auto-Splits into 45MB Chunks |
| 50,000+ File Commits | ⚠️ Can Exhaust Memory | ❌ Freezes UI | ✅ Virtualized 60 FPS Viewport |
| Secret Leak Interceptor | ❌ Manual .gitignore | ⚠️ Basic Prompts | ✅ Automated Scan & Exclude |
| AI Error Auto-Heal | ❌ None | ❌ None | ✅ Gemini / DeepSeek Auto-Fix |
| Zero-Install Run | ❌ Requires git installed | ❌ Large Installer | ✅ npx gitxelectron open |
| Universal Folder Push | ❌ Multiple Manual Commands | ❌ Must be existing repo | ✅ Drag-and-Drop sparse push |
🏗️ System Architecture
graph TD
A[User Action / Code Save] --> B{Entry Point}
B -->|Terminal| C[Commander CLI / npx]
B -->|Desktop UI| D[React 19 + Tailwind Viewport]
C --> E[Core Automation Engine]
D --> E
E --> F[Secret Scanner]
F -->|Secret Detected| F1[Isolate in .git/info/exclude]
F -->|Clean| G{Single File > 95MB?}
G -->|Yes| H[Streaming Splitter: 45MB Chunks + SHA-256 Manifest]
G -->|No| I[Git LFS AI/ML Pipeline]
H --> J[Porcelain Fast Staging & Buffer Optimization]
I --> J
J --> K[Remote Push with Live Progress]
K -->|Rejection / Conflict| L[Gemini / DeepSeek AI Auto-Healer]
L -->|Auto-Fix Commands| K
K -->|Success| M[60 FPS Virtualized Receipt Renderer]⚡ Quick Start
Method 1: Zero-Install (npx)
Run the desktop app directly for your current folder without installing anything globally:
npx gitxelectron openMethod 2: Global CLI (npm)
Install globally across your machine:
npm install -g gitxelectronPush a single file directly to GitHub:
gitxelectron push -f src/index.ts -m "Feat: updated engine"Run an automatic stage, big-file split, and push:
gitxelectron auto-push "Auto-save: nightly build"Method 3: Native Desktop App
Download the compiled release for your platform from the Releases section:
- Windows:
gitxelectron-setup.exeorgitxelectron-portable.exe - macOS:
gitxelectron.dmg(Universal Intel & Apple Silicon) - Linux:
gitxelectron.AppImage/gitxelectron.deb
💻 CLI Reference
Usage: gitxelectron [command] [options]
Commands:
open Open GitElectron desktop app in the current directory
push [options] Push a file or folder directly to GitHub from terminal
Options:
-f, --file <path> Target file or directory (required)
-m, --message <msg> Commit message
-b, --branch <branch> Remote branch to push to
auto-push [message] Auto-stage, commit, split big files (>95MB), and push with live status
auto-restore Reassemble split files with SHA-256 integrity verification
help [command] Display help for a specific commandBash & PowerShell Scripts
Self-contained scripts are included in the repository root for headless CI/CD environments:
- Linux / macOS / Git Bash:
chmod +x auto-push.sh auto-restore.sh ./auto-push.sh ./auto-restore.sh - Windows PowerShell:
./auto-push.ps1
🛠️ Tech Stack
- Core & Runtime: Electron (v39), Node.js (v22/24)
- Frontend: React 19, TypeScript (v5.9), TailwindCSS
- Bundler: Vite & Electron-Vite
- Git Automation: Simple-Git, custom streaming pipes
- File System Daemon: Chokidar (v5)
- AI Integrations: Google Generative AI (Gemini), OpenAI / DeepSeek SDK
🧑💻 Development & Building
1. Clone & Install
git clone https://github.com/your-username/GitQuickPush.git
cd GitQuickPush
npm install2. Start Development Server (Hot-Reload Enabled)
npm run dev3. Type Checking
npm run typecheck4. Build Production Binaries
# Windows
npm run build:win
# Linux
npm run build:linux
# macOS
npm run build:mac📄 License
This project is licensed under the MIT License. Built with ❤️ for developers who just want to write code without Git getting in the way.
