@pavlovic265/gt 0.58.3

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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Marko Pavlovic
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,551 @@
1
+ # gt: Git Workflow Utility
2
+
3
+ [![MIT License](https://img.shields.io/badge/License-MIT-green.svg)](https://github.com/pavlovic265/265-gt/blob/main/LICENSE)
4
+ [![Go Version](https://img.shields.io/badge/Go-1.24+-blue.svg)](https://golang.org/)
5
+ [![Git Version](https://img.shields.io/badge/Git-2.39.5+-orange.svg)](https://git-scm.com/)
6
+ [![GitHub CLI](https://img.shields.io/badge/GitHub%20CLI-2.81.0+-purple.svg)](https://cli.github.com/)
7
+
8
+ [![CI](https://github.com/pavlovic265/265-gt/actions/workflows/ci.yml/badge.svg)](https://github.com/pavlovic265/265-gt/actions/workflows/ci.yml)
9
+ [![Build](https://github.com/pavlovic265/265-gt/actions/workflows/build.yml/badge.svg)](https://github.com/pavlovic265/265-gt/actions/workflows/build.yml)
10
+ [![Lint](https://github.com/pavlovic265/265-gt/actions/workflows/lint.yml/badge.svg)](https://github.com/pavlovic265/265-gt/actions/workflows/lint.yml)
11
+ [![Test](https://github.com/pavlovic265/265-gt/actions/workflows/test.yml/badge.svg)](https://github.com/pavlovic265/265-gt/actions/workflows/test.yml)
12
+ [![Release](https://github.com/pavlovic265/265-gt/actions/workflows/release.yml/badge.svg)](https://github.com/pavlovic265/265-gt/actions/workflows/release.yml)
13
+
14
+ > A powerful command-line utility designed to simplify and streamline common Git workflows with intelligent branch management and automation.
15
+
16
+ ## πŸš€ Features
17
+
18
+ - **Quick Branch Operations**: Create, checkout, and switch between branches with shorthand commands
19
+ - **Branch Stack Navigation**: Seamlessly move up and down your branch hierarchy
20
+ - **Stack Management**: Restack branches to keep your branch hierarchy up to date
21
+ - **Automated Git Workflows**: Simplify rebasing, syncing, and cleaning up merged branches
22
+ - **Enhanced Pull Request Management**: Create, list, merge, and update PRs with CI/CD status indicators and mergeable state visualization
23
+ - **Multi-Platform Support**: Works with GitHub and GitLab
24
+ - **Account Management**: Add, edit, list, and remove multiple accounts with full profile information
25
+ - **Authentication Management**: Easy account switching and token management
26
+ - **Interactive UI**: Beautiful terminal interface with search and selection capabilities
27
+ - **Shell Completion**: Auto-completion support for Bash, Zsh, Fish, and PowerShell
28
+ - **Panda Syntax Theme**: Stunning color scheme with dark/light theme support
29
+ - **Styled Output**: Consistent, beautiful error and success messages with icons
30
+ - **Enhanced Logging**: Centralized logging utility with styled output
31
+ - **Version Management**: Automatic version checking and upgrade notifications
32
+ - **Git Pass-Through**: Unknown commands automatically passed to git for seamless integration
33
+
34
+ ## πŸ› οΈ Installation
35
+
36
+ ### Homebrew (Recommended for macOS)
37
+ ```bash
38
+ brew tap pavlovic265/265-gt
39
+ brew install 265-gt
40
+ ```
41
+
42
+ ### Ubuntu/Debian (.deb package)
43
+ ```bash
44
+ # Download and install the latest .deb package
45
+ wget https://github.com/pavlovic265/265-gt/releases/download/v0.3.0/gt_0.3.0_linux_amd64.deb
46
+ sudo apt install ./gt_0.3.0_linux_amd64.deb
47
+ ```
48
+
49
+ ### Fedora / RHEL / CentOS (.rpm package)
50
+ ```bash
51
+ # Download and install the latest .rpm package
52
+ wget https://github.com/pavlovic265/265-gt/releases/download/v0.3.0/gt_0.3.0_linux_amd64.rpm
53
+ sudo rpm -i gt_0.3.0_linux_amd64.rpm
54
+ ```
55
+
56
+
57
+
58
+ ### Quick Install Script
59
+ ```bash
60
+ curl -fsSL https://raw.githubusercontent.com/pavlovic265/265-gt/main/scripts/install.sh | bash
61
+ ```
62
+
63
+ ### Build from Source (For Developers)
64
+ ```bash
65
+ # Clone the repository
66
+ git clone https://github.com/pavlovic265/265-gt.git
67
+ cd 265-gt
68
+
69
+ # Build the binary
70
+ go build -o gt main.go
71
+
72
+ # Install to your PATH (choose one):
73
+ # Option 1: User directory (no sudo needed)
74
+ mkdir -p ~/.local/bin
75
+ mv gt ~/.local/bin/
76
+ export PATH="$HOME/.local/bin:$PATH"
77
+
78
+ # Option 2: System directory (requires sudo)
79
+ sudo mv gt /usr/local/bin/
80
+ ```
81
+
82
+ ## 🎯 Quick Start
83
+
84
+ 1. **Initialize Configuration**
85
+ ```bash
86
+ gt config global
87
+ ```
88
+
89
+ 2. **Add your first account**
90
+ ```bash
91
+ gt account add
92
+ ```
93
+
94
+ 3. **Authenticate with your Git platform**
95
+ ```bash
96
+ gt auth login
97
+ ```
98
+
99
+ 4. **Start using gt commands**
100
+ ```bash
101
+ gt create feature-branch # Create and switch to a new branch
102
+ gt up # Move up in branch stack
103
+ gt down # Move down in branch stack
104
+ ```
105
+
106
+ ## πŸ”„ Git Pass-Through
107
+
108
+ **gt** automatically passes unknown commands to git, so you can use any git command through gt:
109
+
110
+ ```bash
111
+ # These all work seamlessly
112
+ gt log --oneline -5
113
+ gt branch --list
114
+ gt diff --name-only
115
+ gt status
116
+ gt add .
117
+ gt commit -m "My commit"
118
+ ```
119
+
120
+ When an unknown command is used, gt will show:
121
+ ```
122
+ Unknown command, passing to git: git [command]
123
+ [git output]
124
+ ```
125
+
126
+ This means you can use gt as a drop-in replacement for git while getting the benefits of gt's enhanced commands.
127
+
128
+
129
+ ## πŸ“– Command Reference
130
+
131
+ ### Branch Operations
132
+
133
+ | Command | Alias | Description | Example |
134
+ |---------|-------|-------------|---------|
135
+ | `create` | `c` | Create a new branch from current branch | `gt create feature-branch` |
136
+ | `checkout` | `co` | Checkout/search and switch to branch | `gt checkout main` |
137
+ | `delete` | `dl` | Delete a branch | `gt delete old-branch` |
138
+ | `clean` | `cl` | Clean merged branches (excludes protected) | `gt clean` |
139
+ | `move` | `mv` | Rebase current branch | `gt move` |
140
+
141
+ ### Navigation
142
+
143
+ | Command | Alias | Description | Example |
144
+ |---------|-------|-------------|---------|
145
+ | `up` | - | Move up in branch stack | `gt up` |
146
+ | `down` | - | Move down in branch stack | `gt down` |
147
+ | `switch` | `sw` | Switch to previous branch | `gt switch` |
148
+ | `cont` | - | Continue rebase after resolving conflicts | `gt cont` |
149
+
150
+ ### Commit Operations
151
+
152
+ | Command | Alias | Description | Example |
153
+ |---------|-------|-------------|---------|
154
+ | `add` | - | Stage changes | `gt add` |
155
+ | `unstage` | `us` | Unstage changes | `gt unstage` |
156
+ | `commit` | `cm` | Create commit with message | `gt commit "Add new feature"` |
157
+ | `commit -e` | `cm -e` | Create empty commit | `gt commit -e "WIP"` |
158
+
159
+ ### Remote Operations
160
+
161
+ | Command | Alias | Description | Example |
162
+ |---------|-------|-------------|---------|
163
+ | `push` | `pu` | Force-push to remote | `gt push` |
164
+ | `pull` | `pl` | Pull latest changes | `gt pull` |
165
+
166
+ ### Pull Request Management
167
+
168
+ | Command | Alias | Description | Example |
169
+ |---------|-------|-------------|---------|
170
+ | `pull_request create` | `pr c` | Create a new pull request | `gt pr c` |
171
+ | `pull_request create -d` | `pr c -d` | Create a draft pull request | `gt pr c -d` |
172
+ | `pull_request list` | `pr li` | List all pull requests with CI/CD status and mergeable state | `gt pr li` |
173
+
174
+ **Pull Request List Features:**
175
+ - **CI/CD Status Indicators**: View build status at a glance
176
+ - `βœ“` (Green) - Success
177
+ - `βœ—` (Red) - Failure/Error
178
+ - `β˜…` (Yellow) - Pending/In Progress
179
+ - **Mergeable Status**: See merge conflicts status
180
+ - `●` (Green) - Mergeable
181
+ - `●` (Red) - Has conflicts
182
+ - **Interactive Actions**:
183
+ - Press `Enter` to open PR in browser
184
+ - Press `y` to yank (copy) PR URL to clipboard
185
+ - Press `m` to merge the pull request
186
+ - Press `u` to update PR branch with base branch changes
187
+
188
+ ### Stack Management
189
+
190
+ | Command | Alias | Description | Example |
191
+ |---------|-------|-------------|---------|
192
+ | `stack restack` | `s rs` | Restack branches from current branch downward | `gt stack restack` |
193
+
194
+ ### Configuration
195
+
196
+ | Command | Alias | Description | Example |
197
+ |---------|-------|-------------|---------|
198
+ | `config global` | `conf gl` | Configure global settings | `gt conf gl` |
199
+ | `config local` | `conf lo` | Configure local repository settings | `gt conf lo` |
200
+
201
+ ### Authentication
202
+
203
+ | Command | Alias | Description | Example |
204
+ |---------|-------|-------------|---------|
205
+ | `auth login` | `auth lg` | Login with token from config | `gt auth lg` |
206
+ | `auth logout` | `auth lo` | Logout from current account | `gt auth lo` |
207
+ | `auth status` | `auth st` | Show authentication status | `gt auth st` |
208
+ | `auth switch` | `auth sw` | Switch between accounts | `gt auth sw` |
209
+
210
+ ### Account Management
211
+
212
+ | Command | Alias | Description | Example |
213
+ |---------|-------|-------------|---------|
214
+ | `account add` | `acc add` | Add a new account interactively | `gt account add` |
215
+ | `account list` | `acc ls` | List all configured accounts | `gt account list` |
216
+ | `account edit` | `acc edit` | Edit an existing account | `gt account edit` |
217
+ | `account remove` | `acc rm` | Remove an account | `gt account remove` |
218
+ | `account attach` | `acc at` | Attach active account to a directory | `gt account attach ~/work` |
219
+
220
+ ### Utility Commands
221
+
222
+ | Command | Alias | Description | Example |
223
+ |---------|-------|-------------|---------|
224
+ | `version` | `v` | Display version information | `gt version` |
225
+ | `version --latest` | `v -l` | Get latest version from repository | `gt version --latest` |
226
+ | `upgrade` | - | Update the CLI tool | `gt upgrade` |
227
+ | `status` | `st` | Show current repository status | `gt status` |
228
+ | `completion` | - | Generate shell completion scripts | `gt completion bash` |
229
+ | `completion --install` | - | Install completion script to default location | `gt completion zsh --install` |
230
+
231
+ ## πŸ”§ Configuration
232
+
233
+ ### Global Configuration
234
+ ```bash
235
+ gt config global
236
+ ```
237
+ This will guide you through setting up:
238
+ - Theme preferences (dark/light)
239
+ - Version tracking
240
+
241
+ After creating the global config, add your accounts:
242
+ ```bash
243
+ gt account add
244
+ ```
245
+
246
+ The account management commands allow you to:
247
+ - **Add accounts**: Interactively add GitHub/GitLab accounts with username, email, full name, platform, and API token
248
+ - **List accounts**: View all configured accounts with their details
249
+ - **Edit accounts**: Modify existing account information
250
+ - **Remove accounts**: Delete accounts you no longer need
251
+ - **Switch accounts**: Change between accounts using `gt auth switch`
252
+
253
+ The configuration supports multiple accounts with automatic active account management:
254
+ ```yaml
255
+ # ~/.gtconfig.yaml
256
+ accounts:
257
+ - user: "username1"
258
+ email: "user1@example.com"
259
+ name: "User One"
260
+ token: "ghp_..."
261
+ platform: "GitHub"
262
+ - user: "username2"
263
+ email: "user2@example.com"
264
+ name: "User Two"
265
+ token: "glpat-..."
266
+ platform: "GitLab"
267
+ active_account: # Automatically managed by auth commands
268
+ user: "username1"
269
+ email: "user1@example.com"
270
+ name: "User One"
271
+ token: "ghp_..."
272
+ platform: "GitHub"
273
+ theme:
274
+ type: "dark"
275
+ version:
276
+ last_checked: "2024-10-27T10:30:00Z"
277
+ current_version: "0.3.0"
278
+ ```
279
+
280
+ ### Local Configuration
281
+ ```bash
282
+ gt config local
283
+ ```
284
+ Configure repository-specific settings like:
285
+ - Protected branches for this repo
286
+ - Custom branch naming patterns
287
+ - Repository-specific workflows
288
+
289
+ ### Theme Configuration
290
+ The tool supports beautiful Panda Syntax theme with dark and light variants:
291
+
292
+ ```yaml
293
+ # ~/.gtconfig.yaml
294
+ theme:
295
+ type: "dark" # or "light"
296
+ ```
297
+
298
+ **Panda Syntax Colors:**
299
+ - 🟒 **Success**: `#A9DC52` (Green) / `#2D5016` (Dark Green - Light Theme)
300
+ - πŸ”΄ **Error**: `#FF6188` (Red) / `#8B1538` (Dark Red - Light Theme)
301
+ - 🟑 **Warning**: `#FFD866` (Yellow) / `#B8860B` (Dark Orange - Light Theme)
302
+ - πŸ”΅ **Info**: `#78DCE8` (Blue) / `#1E3A8A` (Dark Blue - Light Theme)
303
+ - 🟣 **Debug**: `#AB9DF2` (Purple) / `#6B46C1` (Dark Purple - Light Theme)
304
+ - 🟑 **Highlight**: `#FFD866` (Yellow) / `#B8860B` (Dark Yellow - Light Theme)
305
+
306
+ ## 🎨 Usage Examples
307
+
308
+ ### Status Indicators
309
+ The tool uses beautiful ASCII icons and Panda Syntax colors to show operation status:
310
+
311
+ ```bash
312
+ # Success indicators (βœ“) - Green
313
+ gt create feature/new-feature
314
+ # βœ“ Branch 'feature/new-feature' created and switched to successfully
315
+
316
+ gt add
317
+ # βœ“ All changes staged
318
+
319
+ gt commit "Add new feature"
320
+ # βœ“ Commit created 'Add new feature'
321
+
322
+ gt checkout main
323
+ # βœ“ Switched to branch 'main'
324
+
325
+ # Error indicators (βœ—) - Red
326
+ gt delete main
327
+ # βœ— Failed to delete branch: Cannot delete protected branch
328
+
329
+ gt checkout nonexistent
330
+ # βœ— Failed to checkout branch 'nonexistent': branch not found
331
+
332
+ # Version notifications - Blue with colored version numbers
333
+ gt status
334
+ # πŸ”„ A new release of gt is available: 0.29.0 β†’ 0.32.0
335
+ # To upgrade, run: gt upgrade
336
+ ```
337
+
338
+ ### Styled Output Examples
339
+ ```bash
340
+ # Git status with colored output
341
+ gt status
342
+ # On branch main # Branch name in purple
343
+ # Changes to be committed: # Section headers in blue
344
+ # new file: README.md # New files in green
345
+ # Changes not staged for commit: # Section headers in orange
346
+ # modified: src/main.go # Modified files in orange
347
+ # Untracked files: # Section headers in red
348
+ # temp.txt # Untracked files in yellow italic
349
+
350
+ # Version information with styling
351
+ gt version
352
+ # Current version: v0.32.0 # Labels in blue, versions in blue bold
353
+
354
+ gt version --latest
355
+ # Latest version: v0.32.0 # Labels in blue, versions in blue bold
356
+ ```
357
+
358
+ ### Typical Workflow
359
+ ```bash
360
+ # Start a new feature
361
+ gt create feature/user-authentication
362
+ gt add
363
+ gt commit "Add user authentication module"
364
+
365
+ # Make some changes and commit
366
+ gt add
367
+ gt commit "Add password validation"
368
+
369
+ # Oops, need to unstage some files
370
+ gt unstage file1.txt file2.txt
371
+ gt add file1.txt
372
+ gt commit "Add only file1.txt"
373
+
374
+ # Push to remote
375
+ gt push
376
+
377
+ # Create pull request
378
+ gt pr c
379
+
380
+ # After review, move up to parent branch
381
+ gt up
382
+
383
+ # Clean up merged branches
384
+ gt clean
385
+ ```
386
+
387
+ ### Branch Stack Navigation
388
+ ```bash
389
+ # Current branch: feature/user-auth
390
+ gt up # Move to: feature/auth-system
391
+ gt up # Move to: develop
392
+ gt down # Move to: feature/auth-system
393
+ gt down # Move to: feature/user-auth
394
+ ```
395
+
396
+ ### Multi-Account Management
397
+ ```bash
398
+ # Add a new account
399
+ gt account add
400
+ # Follow the interactive prompts to enter:
401
+ # - Username
402
+ # - Email
403
+ # - Full name
404
+ # - Platform (GitHub/GitLab)
405
+ # - API token
406
+
407
+ # List all configured accounts
408
+ gt account list
409
+ # * username1 (GitHub) user1@example.com - User One
410
+ # username2 (GitLab) user2@example.com - User Two
411
+ # (* indicates active account)
412
+
413
+ # Edit an existing account
414
+ gt account edit
415
+ # Select account to edit, then update any field
416
+
417
+ # Remove an account
418
+ gt account remove
419
+ # Select account to remove
420
+
421
+ # Switch between accounts
422
+ gt auth switch
423
+ # Select from available accounts
424
+
425
+ # Check current auth status
426
+ gt auth status
427
+
428
+ # Attach active account to a directory
429
+ gt account attach ~/work/projects
430
+ # This will:
431
+ # 1. Add an includeIf section to ~/.gitconfig
432
+ # 2. Create a .gitconfig in the target directory with active account credentials
433
+ # 3. All git repos under that directory will use the attached account
434
+
435
+ # Attach to current directory
436
+ gt account attach .
437
+
438
+ # The tool automatically manages an active account
439
+ # When you switch accounts, the active account is updated
440
+ # All operations use the currently active account
441
+ ```
442
+
443
+ ### Shell Completion
444
+ ```bash
445
+ # Generate completion script for your shell
446
+ gt completion bash # For Bash
447
+ gt completion zsh # For Zsh
448
+ gt completion fish # For Fish
449
+ gt completion powershell # For PowerShell
450
+
451
+ # Install to default location (recommended)
452
+ gt completion bash --install
453
+ gt completion zsh --install
454
+ gt completion fish --install
455
+
456
+ # Install to custom directory
457
+ gt completion zsh --install --dir ~/.my-completions
458
+
459
+ # Generate without descriptions (faster, less verbose)
460
+ gt completion bash --no-descriptions
461
+ ```
462
+
463
+ **Supported shells:**
464
+ - **Bash**: Installs to `~/.config/bash/completion/gt.bash`
465
+ - **Zsh**: Installs to `~/.zsh/completions/_gt`
466
+ - **Fish**: Installs to `~/.config/fish/completions/gt.fish`
467
+ - **PowerShell**: Installs to `~/Documents/PowerShell/gt-completion.ps1`
468
+
469
+ After installation, follow the instructions displayed to activate completions in your shell.
470
+
471
+ ### Stack Restacking
472
+ ```bash
473
+ # Restack all child branches from current branch
474
+ gt stack restack
475
+ # or use the alias
476
+ gt s rs
477
+
478
+ # This will:
479
+ # 1. Get all children of the current branch
480
+ # 2. Rebase each child onto its parent
481
+ # 3. Process children recursively to maintain branch hierarchy
482
+ ```
483
+
484
+ ### Enhanced Pull Request Management
485
+ ```bash
486
+ # List all pull requests with visual indicators
487
+ gt pr li
488
+
489
+ # Output shows:
490
+ # βœ“ 123: Add authentication module - ● (CI passed, mergeable)
491
+ # βœ— 124: Fix bug in parser - ● (CI failed, has conflicts)
492
+ # β˜… 125: Update dependencies - ● (CI pending, mergeable)
493
+
494
+ # Interactive actions in the PR list:
495
+ # - Enter: Open selected PR in browser
496
+ # - y: Copy PR URL to clipboard
497
+ # - m: Merge the selected PR
498
+ # - u: Update PR branch with latest base branch changes
499
+ # - /: Search/filter PRs
500
+ # - Esc/q: Exit
501
+
502
+ # Quick workflow examples:
503
+ gt pr li
504
+ # Press 'y' on a PR to copy its URL for sharing
505
+ # Press 'm' on a PR to merge it directly from the terminal
506
+ # Press 'u' on a PR to update it with the latest changes from base
507
+ ```
508
+
509
+ ## 🚧 Planned Features
510
+
511
+ - [ ] **Branch Syncing** β€” Seamlessly synchronize local and remote branches with intelligent conflict handling.
512
+ - [ ] **Change Submission** β€” Streamlined `submit` command for creating pull requests or submitting changes for review.
513
+ - [ ] **Advanced Branch Visualization** β€” Enhanced visualization of branch structures and relationships for easier navigation.
514
+ - [ ] **Multi-Platform Git Integration** β€” Support for additional Git platforms beyond GitHub (e.g., GitLab, Bitbucket).
515
+ - [ ] **Theme Customization** β€” Flexible theme settings to personalize the CLI experience.
516
+ - [ ] **Automated GitHub Setup** β€” One-command configuration for GitHub authentication, commit signing, tokens, and SSH keys.
517
+ - [x] **Git Config Profiles** β€” Dynamic `.gitconfig` management tied to directories using `includeIf` (implemented via `gt account attach`).
518
+ - [ ] **User-Aware Repository Checkout** β€” Automatically clone and manage repositories based on the active user profile.
519
+
520
+
521
+ ## 🀝 Contributing
522
+
523
+ We welcome contributions! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
524
+
525
+ ### Development Setup
526
+ ```bash
527
+ git clone https://github.com/pavlovic265/265-gt.git
528
+ cd 265-gt
529
+ go mod download
530
+ go run main.go
531
+ ```
532
+
533
+ ## πŸ“„ License
534
+
535
+ This project is licensed under the MIT License - see the [LICENSE](https://github.com/pavlovic265/265-gt/blob/main/LICENSE) file for details.
536
+
537
+ ## πŸ‘¨β€πŸ’» Author
538
+
539
+ **ΠœΠ°Ρ€ΠΊΠΎ ΠŸΠ°Π²Π»ΠΎΠ²ΠΈΡ› (Marko PavloviΔ‡)** - [@pavlovic265](https://github.com/pavlovic265)
540
+
541
+ ## πŸ™ Acknowledgments
542
+
543
+ - Built with [Cobra](https://github.com/spf13/cobra) for CLI framework
544
+ - Beautiful terminal UI powered by [Bubble Tea](https://github.com/charmbracelet/bubbletea)
545
+ - Styling with [Lip Gloss](https://github.com/charmbracelet/lipgloss)
546
+ - Color scheme inspired by [Panda Syntax](https://github.com/PandaTheme/panda-syntax-vscode) theme
547
+
548
+ ---
549
+
550
+ ⭐ If you find this tool helpful, please consider giving it a star!
551
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/bin/install.js ADDED
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ const { execSync } = require('child_process');
3
+ const fs = require('fs');
4
+ const path = require('path');
5
+
6
+ const platform = process.platform;
7
+ const arch = process.arch;
8
+
9
+ let binaryName = 'gt';
10
+ if (platform === 'linux' && arch === 'x64') {
11
+ binaryName = 'gt-linux-amd64';
12
+ } else if (platform === 'linux' && arch === 'arm64') {
13
+ binaryName = 'gt-linux-arm64';
14
+ } else if (platform === 'darwin' && arch === 'x64') {
15
+ binaryName = 'gt-darwin-amd64';
16
+ } else if (platform === 'darwin' && arch === 'arm64') {
17
+ binaryName = 'gt-darwin-arm64';
18
+ } else if (platform === 'win32' && arch === 'x64') {
19
+ binaryName = 'gt-windows-amd64.exe';
20
+ } else if (platform === 'win32' && arch === 'arm64') {
21
+ binaryName = 'gt-windows-arm64.exe';
22
+ } else {
23
+ console.error(\`Unsupported platform: \${platform} \${arch}\`);
24
+ process.exit(1);
25
+ }
26
+
27
+ const binaryPath = path.join(__dirname, binaryName);
28
+ if (!fs.existsSync(binaryPath)) {
29
+ console.error(\`Binary not found: \${binaryPath}\`);
30
+ process.exit(1);
31
+ }
32
+
33
+ fs.chmodSync(binaryPath, '755');
34
+
35
+ try {
36
+ execSync(\`"\${binaryPath}" \${process.argv.slice(2).join(' ')}\`, { stdio: 'inherit' });
37
+ } catch (error) {
38
+ process.exit(error.status || 1);
39
+ }
package/package.json ADDED
@@ -0,0 +1,28 @@
1
+ {
2
+ "name": "@pavlovic265/gt",
3
+ "version": "0.58.3",
4
+ "description": "Git workflow utility with intelligent branch management and automation",
5
+ "author": "Marko Pavlovic <pavlovic265@gmail.com>",
6
+ "license": "MIT",
7
+ "homepage": "https://github.com/pavlovic265/265-gt",
8
+ "repository": {
9
+ "type": "git",
10
+ "url": "https://github.com/pavlovic265/265-gt.git"
11
+ },
12
+ "bin": {
13
+ "gt": "./bin/install.js"
14
+ },
15
+ "files": [
16
+ "bin/**/*",
17
+ "LICENSE",
18
+ "README.md"
19
+ ],
20
+ "keywords": [
21
+ "git",
22
+ "workflow",
23
+ "cli",
24
+ "branch-management",
25
+ "github",
26
+ "gitlab"
27
+ ]
28
+ }