gitxelectron 1.3.5 → 1.3.7

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,96 +1,97 @@
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
26
-
27
- ### Method 1: Zero-Install (npx)
28
-
29
- The absolute fastest way to use GitElectron is directly through `npx` without installing anything globally!
30
-
31
- ```bash
32
- npx gitxelectron open
33
- ```
34
- This will instantly download and launch the desktop app for your current folder on the fly.
35
-
36
- ### Method 2: NPM (Recommended for Developers)
37
-
38
- If you have Node.js installed, GitElectron is built to be a seamless global utility.
39
-
40
- ```bash
41
- npm install -g gitxelectron
42
- ```
43
-
44
- Upon installation, GitElectron will automatically launch the desktop application, prompt you for GitHub authorization, and initialize your environment.
45
-
46
- ### Method 3: Standalone Executable
47
-
48
- Download the latest `.exe` installer from the Releases page and run it. The application will guide you through connecting your GitHub account.
49
-
50
- ## Usage
51
-
52
- ### Auto-Sync (The Magic)
53
-
54
- Once logged in, simply open any Git repository in GitElectron. The **Auto-Sync** feature is enabled by default. Minimize the app.
55
- 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.
56
-
57
- ### CLI Commands
58
-
59
- - **Open Contextually:** Open your terminal inside your project folder and run:
60
-
61
- ```bash
62
- npx gitxelectron open
63
- # OR if installed globally:
64
- gitxelectron open
65
- ```
66
-
67
- The desktop app will instantly pop up and initialize that exact folder.
68
-
69
- - **Manual Push:** Push a single file quickly:
70
- ```bash
71
- npx gitxelectron push -f src/index.js -m "Updated logic"
72
- ```
73
-
74
- ## Development Setup
75
-
76
- To build and run GitElectron locally:
77
-
78
- 1. Clone the repository and install dependencies:
79
- ```bash
80
- npm install
81
- ```
82
- 2. Start the development server (Hot Module Replacement enabled):
83
- ```bash
84
- npm run dev
85
- ```
86
- 3. To build the production binary:
87
- ```bash
88
- npm run build:win
89
- ```
90
-
91
- ## Architecture
92
-
93
- - **Renderer (`src/renderer`):** A modern React + TailwindCSS interface running inside an Electron Window.
94
- - **Main (`src/main`):** Node.js backend handling system files (`chokidar` for watching), secure credentials, single-instance locking, and Git automation via `simple-git`.
95
- - **Preload (`src/preload`):** A secure ContextBridge tying the UI strictly to safe IPC handlers.
96
- - **CLI (`bin/cli.js`):** A Commander-based Node script that transparently spawns the packaged Electron executable, merging NPM utility with Desktop power.
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
26
+
27
+ ### Method 1: Zero-Install (npx)
28
+
29
+ The absolute fastest way to use GitElectron is directly through `npx` without installing anything globally!
30
+
31
+ ```bash
32
+ npx gitxelectron open
33
+ ```
34
+
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)
38
+
39
+ If you have Node.js installed, GitElectron is built to be a seamless global utility.
40
+
41
+ ```bash
42
+ npm install -g gitxelectron
43
+ ```
44
+
45
+ Upon installation, GitElectron will automatically launch the desktop application, prompt you for GitHub authorization, and initialize your environment.
46
+
47
+ ### Method 3: Standalone Executable
48
+
49
+ Download the latest `.exe` installer from the Releases page and run it. The application will guide you through connecting your GitHub account.
50
+
51
+ ## Usage
52
+
53
+ ### Auto-Sync (The Magic)
54
+
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.
57
+
58
+ ### CLI Commands
59
+
60
+ - **Open Contextually:** Open your terminal inside your project folder and run:
61
+
62
+ ```bash
63
+ npx gitxelectron open
64
+ # OR if installed globally:
65
+ gitxelectron open
66
+ ```
67
+
68
+ The desktop app will instantly pop up and initialize that exact folder.
69
+
70
+ - **Manual Push:** Push a single file quickly:
71
+ ```bash
72
+ npx gitxelectron push -f src/index.js -m "Updated logic"
73
+ ```
74
+
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.
@@ -35,19 +35,19 @@ try {
35
35
  try {
36
36
  const os = require('os')
37
37
  const desktopPath = path.join(os.homedir(), 'Desktop', 'GitElectron.lnk')
38
-
38
+
39
39
  const psCommand = `
40
40
  $WshShell = New-Object -comObject WScript.Shell;
41
41
  $Shortcut = $WshShell.CreateShortcut("${desktopPath}");
42
42
  $Shortcut.TargetPath = "${electronPath}";
43
43
  $Shortcut.Arguments = "\\"${appPath}\\"";
44
44
  $Shortcut.Save();
45
- `;
46
- const { execSync } = require('child_process');
47
- execSync(`powershell -NoProfile -Command "${psCommand}"`, { stdio: 'ignore' });
48
- console.log('✅ Desktop shortcut created successfully!');
45
+ `
46
+ const { execSync } = require('child_process')
47
+ execSync(`powershell -NoProfile -Command "${psCommand}"`, { stdio: 'ignore' })
48
+ console.log('✅ Desktop shortcut created successfully!')
49
49
  } catch (err) {
50
- console.log('Failed to create Desktop shortcut.');
50
+ console.log('Failed to create Desktop shortcut.')
51
51
  }
52
52
  }
53
53
  }
@@ -1,22 +1,22 @@
1
- const { execSync } = require('child_process');
2
- const os = require('os');
1
+ const { execSync } = require('child_process')
2
+ const os = require('os')
3
3
 
4
- console.log('Preparing GitElectron for update... Safely closing any active instances.');
4
+ console.log('Preparing GitElectron for update... Safely closing any active instances.')
5
5
 
6
6
  try {
7
- if (os.platform() === 'win32') {
8
- execSync('taskkill /IM GitElectron.exe /F', { stdio: 'ignore' });
9
- } else {
10
- execSync('pkill -f GitElectron', { stdio: 'ignore' });
11
- }
7
+ if (os.platform() === 'win32') {
8
+ execSync('taskkill /IM GitElectron.exe /F', { stdio: 'ignore' })
9
+ } else {
10
+ execSync('pkill -f GitElectron', { stdio: 'ignore' })
11
+ }
12
12
  } catch (e) {
13
- // Process might not be running, which is completely fine.
13
+ // Process might not be running, which is completely fine.
14
14
  }
15
15
 
16
16
  // Block for 1.5 seconds to ensure the OS fully releases all file locks
17
- const start = Date.now();
17
+ const start = Date.now()
18
18
  while (Date.now() - start < 1500) {
19
- // Wait
19
+ // Wait
20
20
  }
21
21
 
22
- process.exit(0);
22
+ process.exit(0)