gitxelectron 1.3.7 → 1.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1,97 +1,274 @@
1
- # GitElectron (formerly GitQuickPush)
2
-
3
- GitElectron is a clean, modern, and intelligent desktop application and CLI tool designed to completely automate your Git workflow. Built with the philosophy **"I just write code. GitElectron takes care of Git,"** the tool removes the manual burden of `add`, `commit`, and `push`, silently synchronizing your work with GitHub while you focus on coding.
4
-
5
- ## Features
6
-
7
- - **Universal Installation:** Works seamlessly as a standalone desktop executable (.exe) or as a globally installed NPM package.
8
- - **Context-Aware CLI Integration:** Run `gitxelectron open` from any integrated terminal (VS Code, Cursor, Antigravity) to instantly launch the desktop app automatically hooked into that specific project directory.
9
- - **Universal Push Wizard:** Drag-and-drop any folder from your computer to push it directly to any GitHub repository or branch, even if the folder isn't a Git repository! (Utilizes a hyper-optimized `--sparse` checkout engine in the background).
10
- - **Collaboration & Invitations:** Manage GitHub repository collaborators directly from the UI. Accept or decline incoming repository invitations, and see a beautiful overlapping avatar stack of active collaborators in the top bar.
11
- - **AI Auto-Healer (Manual Control):** If a severe push or pull error occurs, the app halts, displays the raw error, and provides a ✨ **Fix with AI** button. You have full manual control over when the backend AI engine kicks in to resolve merge conflicts or deep Git state issues.
12
- - **Bulletproof Auto-Sync Engine:**
13
- - Automatically monitors your code folders using an intelligent debounced file watcher.
14
- - Automatically stages modified files, generates clean commit messages, and pushes to GitHub in the background.
15
- - **Auto-Rebase Immunity:** If your local branch is behind the remote, the engine silently performs a `git pull --rebase` and retries the push, completely automating non-fast-forward conflict resolution without interrupting you.
16
- - **Credential Freeze Protection:** Bypasses OS Credential Managers entirely, directly injecting your secure OAuth tokens into an isolated Git instance. Branches, commits, and pushes will never freeze on an authentication prompt.
17
- - **First-Run Authentication & PIN Lock:** Instantly hooks into your GitHub account using secure OAuth Device Flow. Secure your app with a custom Lockscreen PIN and Daily Auth.
18
- - **Built-in Auto-Updater:** Never run a terminal command to update again. GitElectron checks the NPM registry on the lockscreen and provides a 1-click silent update button.
19
- - **Beautiful & Dynamic Interface:**
20
- - **iOS Glassmorphism Toasts:** All system notifications slide in beautifully using iOS-style translucent blur UI.
21
- - **Theming & Audio:** Multiple themes equipped with authentic sound effects and globally adaptive custom scrollbars.
22
- - **Terminal Pushing:** Need to manually push a file fast? Use the built-in `gitxelectron push -f <file>` CLI command.
23
- - **Visual Git Management:** If you prefer manual control, the beautiful React UI allows you to visually inspect diffs, stage files, resolve conflicts, and switch branches.
24
-
25
- ## Installation
1
+ # GitElectron (by PushGitX) ⚡
2
+
3
+ <div align="center">
4
+
5
+ [![NPM Version](https://img.shields.io/npm/v/gitxelectron?style=for-the-badge&logo=npm&color=CB3837)](https://www.npmjs.com/package/gitxelectron)
6
+ [![Downloads](https://img.shields.io/npm/dm/gitxelectron?style=for-the-badge&logo=npm&color=2563EB)](https://www.npmjs.com/package/gitxelectron)
7
+ [![Platforms](https://img.shields.io/badge/Platform-Windows%20%7C%20macOS%20%7C%20Linux-blue?style=for-the-badge&logo=linux)](https://github.com)
8
+ [![License](https://img.shields.io/badge/License-MIT-green.svg?style=for-the-badge)](LICENSE)
9
+ [![AI Engine](https://img.shields.io/badge/AI-Gemini%20%7C%20DeepSeek-8B5CF6?style=for-the-badge&logo=google)](https://deepmind.google)
10
+ [![Electron](https://img.shields.io/badge/Electron-39.x-47848F?style=for-the-badge&logo=electron)](https://www.electronjs.org)
11
+
12
+ <br />
13
+
14
+ **An elegant, silent, auto-synchronizing Git engine and AI-powered workflow assistant.**
15
+ _Works as a high-performance desktop application and an instant, zero-install terminal CLI._
16
+
17
+ <br />
18
+
19
+ > _"I just write code. GitElectron takes care of Git."_
20
+
21
+ </div>
22
+
23
+ ---
24
+
25
+ ## 📑 Table of Contents
26
+
27
+ - [Overview](#-overview)
28
+ - [Real-World Problem Solvers](#-real-world-problem-solvers)
29
+ - [1. Big File Streaming Splitter (>95MB)](#1-big-file-streaming-splitter-95mb)
30
+ - [2. 60 FPS Virtualized Commit Receipt (50,000+ Files)](#2-60-fps-virtualized-commit-receipt-50000-files)
31
+ - [3. AI Auto-Healer for Cryptic Git Errors](#3-ai-auto-healer-for-cryptic-git-errors)
32
+ - [4. Zero-Leak Security Interceptor](#4-zero-leak-security-interceptor)
33
+ - [5. Massive Repository Engine](#5-massive-repository-engine)
34
+ - [6. Universal Push Wizard](#6-universal-push-wizard)
35
+ - [How It Compares](#-how-it-compares)
36
+ - [System Architecture](#-system-architecture)
37
+ - [Quick Start](#-quick-start)
38
+ - [Method 1: Zero-Install (npx)](#method-1-zero-install-npx)
39
+ - [Method 2: Global CLI (npm)](#method-2-global-cli-npm)
40
+ - [Method 3: Native Desktop App](#method-3-native-desktop-app)
41
+ - [CLI Reference](#-cli-reference)
42
+ - [Tech Stack](#-tech-stack)
43
+ - [Development & Building](#-development--building)
44
+ - [License](#-license)
45
+
46
+ ---
47
+
48
+ ## 🌟 Overview
49
+
50
+ 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.
51
+
52
+ ---
53
+
54
+ ## 🚀 Real-World Problem Solvers
55
+
56
+ ### 1. Big File Streaming Splitter (>95MB)
57
+
58
+ - **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.
59
+ - **The Solution**:
60
+ - Automatically identifies files exceeding **95MB**.
61
+ - Streams and chunks them at **$>500\text{ MB/s}$** into compliant $\le 45\text{ MB}$ parts (`.part00`, `.part01`, etc.).
62
+ - Generates a cryptographic SHA-256 manifest (`.split-manifest.json`).
63
+ - Automatically isolates the original file from Git index via `.git/info/exclude`.
64
+ - Reassembles files with a single command (`./auto-restore.sh` or `npm run auto-restore`) on any machine with byte-for-byte SHA-256 verification.
65
+
66
+ ### 2. 60 FPS Virtualized Commit Receipt (50,000+ Files)
67
+
68
+ - **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.
69
+ - **The Solution**:
70
+ - Implements **DOM Virtualization** inside an iOS Glassmorphism thermal receipt printer.
71
+ - Renders only the $\sim 20$ rows currently in the viewport while supporting smooth native scrolling across **49,000+ files in $0\text{ms}$**.
72
+ - Includes real-time fuzzy search and instant addition/deletion statistics.
73
+
74
+ ### 3. AI Auto-Healer for Cryptic Git Errors
75
+
76
+ - **The Problem**: Unresolved merge conflicts, non-fast-forward push rejections, detached HEADs, and stale lockfiles derail developer focus.
77
+ - **The Solution**:
78
+ - Raw Git stderr is analyzed in real-time by **Google Gemini** or **DeepSeek** via an isolated backend service.
79
+ - Automatically generates an explanation and the exact, safe terminal commands to resolve the issue with 1-click execution.
80
+
81
+ ### 4. Zero-Leak Security Interceptor
82
+
83
+ - **The Problem**: Bot scrapers scan public GitHub repositories for `.env`, private keys, and tokens within milliseconds of a push.
84
+ - **The Solution**:
85
+ - The staging pipeline scans unstaged files against strict regex patterns (`.env*`, `*.pem`, `*.key`, `id_rsa`, `id_ed25519`, `credentials.json`).
86
+ - Automatically isolates matching secrets before staging and adds them to `.git/info/exclude`.
87
+
88
+ ### 5. Massive Repository Engine
89
+
90
+ - **The Problem**: Staging 20,000+ files simultaneously causes RPC timeouts, packet memory overflows, and terminal freezes.
91
+ - **The Solution**:
92
+ - Batches staging in chunks of 5,000 files.
93
+ - Automatically tunes network memory buffers:
94
+ - `http.postBuffer = 1GB`
95
+ - `pack.windowMemory = 256MB`
96
+ - `pack.packSizeLimit = 500MB`
97
+ - Shows live transfer speeds and ETA in real time.
98
+
99
+ ### 6. Universal Push Wizard
100
+
101
+ - **The Problem**: Non-technical team members or developers wanting to push an untracked local directory must run 8+ terminal setup commands.
102
+ - **The Solution**:
103
+ - Drag and drop any folder into the window.
104
+ - GitElectron detects collisions, clones sparse remotes, and pushes directly to any target branch without prior manual `git init`.
105
+
106
+ ---
107
+
108
+ ## 📊 How It Compares
109
+
110
+ | Feature | Standard Git CLI | GitHub Desktop | **GitElectron (PushGitX)** |
111
+ | :-------------------------- | :-------------------------: | :----------------------: | :---------------------------------: |
112
+ | **Files > 100MB** | ❌ Hard Rejection | ❌ Hard Rejection | ✅ **Auto-Splits into 45MB Chunks** |
113
+ | **50,000+ File Commits** | ⚠️ Can Exhaust Memory | ❌ Freezes UI | ✅ **Virtualized 60 FPS Viewport** |
114
+ | **Secret Leak Interceptor** | ❌ Manual `.gitignore` | ⚠️ Basic Prompts | ✅ **Automated Scan & Exclude** |
115
+ | **AI Error Auto-Heal** | ❌ None | ❌ None | ✅ **Gemini / DeepSeek Auto-Fix** |
116
+ | **Zero-Install Run** | ❌ Requires git installed | ❌ Large Installer | ✅ **`npx gitxelectron open`** |
117
+ | **Universal Folder Push** | ❌ Multiple Manual Commands | ❌ Must be existing repo | ✅ **Drag-and-Drop sparse push** |
118
+
119
+ ---
120
+
121
+ ## 🏗️ System Architecture
122
+
123
+ ```mermaid
124
+ graph TD
125
+ A[User Action / Code Save] --> B{Entry Point}
126
+ B -->|Terminal| C[Commander CLI / npx]
127
+ B -->|Desktop UI| D[React 19 + Tailwind Viewport]
128
+
129
+ C --> E[Core Automation Engine]
130
+ D --> E
131
+
132
+ E --> F[Secret Scanner]
133
+ F -->|Secret Detected| F1[Isolate in .git/info/exclude]
134
+ F -->|Clean| G{Single File > 95MB?}
135
+
136
+ G -->|Yes| H[Streaming Splitter: 45MB Chunks + SHA-256 Manifest]
137
+ G -->|No| I[Git LFS AI/ML Pipeline]
138
+
139
+ H --> J[Porcelain Fast Staging & Buffer Optimization]
140
+ I --> J
141
+
142
+ J --> K[Remote Push with Live Progress]
143
+ K -->|Rejection / Conflict| L[Gemini / DeepSeek AI Auto-Healer]
144
+ L -->|Auto-Fix Commands| K
145
+ K -->|Success| M[60 FPS Virtualized Receipt Renderer]
146
+ ```
147
+
148
+ ---
149
+
150
+ ## ⚡ Quick Start
26
151
 
27
152
  ### Method 1: Zero-Install (npx)
28
153
 
29
- The absolute fastest way to use GitElectron is directly through `npx` without installing anything globally!
154
+ Run the desktop app directly for your current folder without installing anything globally:
30
155
 
31
156
  ```bash
32
157
  npx gitxelectron open
33
158
  ```
34
159
 
35
- This will instantly download and launch the desktop app for your current folder on the fly.
36
-
37
- ### Method 2: NPM (Recommended for Developers)
160
+ ### Method 2: Global CLI (npm)
38
161
 
39
- If you have Node.js installed, GitElectron is built to be a seamless global utility.
162
+ Install globally across your machine:
40
163
 
41
164
  ```bash
42
165
  npm install -g gitxelectron
43
166
  ```
44
167
 
45
- Upon installation, GitElectron will automatically launch the desktop application, prompt you for GitHub authorization, and initialize your environment.
168
+ Push a single file directly to GitHub:
169
+
170
+ ```bash
171
+ gitxelectron push -f src/index.ts -m "Feat: updated engine"
172
+ ```
46
173
 
47
- ### Method 3: Standalone Executable
174
+ Run an automatic stage, big-file split, and push:
48
175
 
49
- Download the latest `.exe` installer from the Releases page and run it. The application will guide you through connecting your GitHub account.
176
+ ```bash
177
+ gitxelectron auto-push "Auto-save: nightly build"
178
+ ```
50
179
 
51
- ## Usage
180
+ ### Method 3: Native Desktop App
52
181
 
53
- ### Auto-Sync (The Magic)
182
+ Download the compiled release for your platform from the [Releases](https://github.com) section:
54
183
 
55
- Once logged in, simply open any Git repository in GitElectron. The **Auto-Sync** feature is enabled by default. Minimize the app.
56
- As you edit and save files in VS Code or your editor of choice, GitElectron will detect the changes, wait 3 seconds for you to finish, and push them directly to GitHub.
184
+ - **Windows**: `gitxelectron-setup.exe` or `gitxelectron-portable.exe`
185
+ - **macOS**: `gitxelectron.dmg` (Universal Intel & Apple Silicon)
186
+ - **Linux**: `gitxelectron.AppImage` / `gitxelectron.deb`
57
187
 
58
- ### CLI Commands
188
+ ---
59
189
 
60
- - **Open Contextually:** Open your terminal inside your project folder and run:
190
+ ## 💻 CLI Reference
61
191
 
62
- ```bash
63
- npx gitxelectron open
64
- # OR if installed globally:
65
- gitxelectron open
66
- ```
192
+ ```
193
+ Usage: gitxelectron [command] [options]
67
194
 
68
- The desktop app will instantly pop up and initialize that exact folder.
195
+ Commands:
196
+ open Open GitElectron desktop app in the current directory
197
+ push [options] Push a file or folder directly to GitHub from terminal
198
+ Options:
199
+ -f, --file <path> Target file or directory (required)
200
+ -m, --message <msg> Commit message
201
+ -b, --branch <branch> Remote branch to push to
202
+ auto-push [message] Auto-stage, commit, split big files (>95MB), and push with live status
203
+ auto-restore Reassemble split files with SHA-256 integrity verification
204
+ help [command] Display help for a specific command
205
+ ```
206
+
207
+ ### Bash & PowerShell Scripts
208
+
209
+ Self-contained scripts are included in the repository root for headless CI/CD environments:
69
210
 
70
- - **Manual Push:** Push a single file quickly:
211
+ - **Linux / macOS / Git Bash**:
71
212
  ```bash
72
- npx gitxelectron push -f src/index.js -m "Updated logic"
213
+ chmod +x auto-push.sh auto-restore.sh
214
+ ./auto-push.sh
215
+ ./auto-restore.sh
73
216
  ```
217
+ - **Windows PowerShell**:
218
+ ```powershell
219
+ ./auto-push.ps1
220
+ ```
221
+
222
+ ---
223
+
224
+ ## 🛠️ Tech Stack
225
+
226
+ - **Core & Runtime**: [Electron](https://www.electronjs.org/) (v39), [Node.js](https://nodejs.org/) (v22/24)
227
+ - **Frontend**: [React 19](https://react.dev/), [TypeScript](https://www.typescriptlang.org/) (v5.9), [TailwindCSS](https://tailwindcss.com/)
228
+ - **Bundler**: [Vite](https://vitejs.dev/) & [Electron-Vite](https://electron-vite.org/)
229
+ - **Git Automation**: [Simple-Git](https://github.com/steveukx/simple-git), custom streaming pipes
230
+ - **File System Daemon**: [Chokidar](https://github.com/paulmillr/chokidar) (v5)
231
+ - **AI Integrations**: [Google Generative AI](https://ai.google.dev/) (Gemini), [OpenAI / DeepSeek SDK](https://github.com/openai/openai-node)
232
+
233
+ ---
234
+
235
+ ## 🧑‍💻 Development & Building
236
+
237
+ ### 1. Clone & Install
238
+
239
+ ```bash
240
+ git clone https://github.com/your-username/GitQuickPush.git
241
+ cd GitQuickPush
242
+ npm install
243
+ ```
244
+
245
+ ### 2. Start Development Server (Hot-Reload Enabled)
246
+
247
+ ```bash
248
+ npm run dev
249
+ ```
250
+
251
+ ### 3. Type Checking
252
+
253
+ ```bash
254
+ npm run typecheck
255
+ ```
256
+
257
+ ### 4. Build Production Binaries
258
+
259
+ ```bash
260
+ # Windows
261
+ npm run build:win
262
+
263
+ # Linux
264
+ npm run build:linux
265
+
266
+ # macOS
267
+ npm run build:mac
268
+ ```
269
+
270
+ ---
271
+
272
+ ## 📄 License
74
273
 
75
- ## Development Setup
76
-
77
- To build and run GitElectron locally:
78
-
79
- 1. Clone the repository and install dependencies:
80
- ```bash
81
- npm install
82
- ```
83
- 2. Start the development server (Hot Module Replacement enabled):
84
- ```bash
85
- npm run dev
86
- ```
87
- 3. To build the production binary:
88
- ```bash
89
- npm run build:win
90
- ```
91
-
92
- ## Architecture
93
-
94
- - **Renderer (`src/renderer`):** A modern React + TailwindCSS interface running inside an Electron Window.
95
- - **Main (`src/main`):** Node.js backend handling system files (`chokidar` for watching), secure credentials, single-instance locking, and Git automation via `simple-git`.
96
- - **Preload (`src/preload`):** A secure ContextBridge tying the UI strictly to safe IPC handlers.
97
- - **CLI (`bin/cli.js`):** A Commander-based Node script that transparently spawns the packaged Electron executable, merging NPM utility with Desktop power.
274
+ This project is licensed under the [MIT License](LICENSE). Built with ❤️ for developers who just want to write code without Git getting in the way.