gitxelectron 1.3.5 → 1.3.6
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 +97 -96
- package/bin/postinstall.js +6 -6
- package/bin/preuninstall.js +12 -12
- package/out/main/index.js +414 -43
- package/out/renderer/assets/{index-O0ybH0MV.js → index-BQtoJFsL.js} +1139 -477
- package/out/renderer/assets/{index-CmxKIe3Q.css → index-CmvL1s5W.css} +2142 -594
- package/out/renderer/index.html +2 -2
- package/package.json +70 -71
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
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
- **
|
|
95
|
-
- **
|
|
96
|
-
- **
|
|
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.
|
package/bin/postinstall.js
CHANGED
|
@@ -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
|
}
|
package/bin/preuninstall.js
CHANGED
|
@@ -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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
-
|
|
19
|
+
// Wait
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
process.exit(0)
|
|
22
|
+
process.exit(0)
|