No description
  • Shell 92.8%
  • JavaScript 6.1%
  • CSS 1%
  • HTML 0.1%
Find a file
Darren Neese (Power Apps MVP) 78be560e96
Some checks failed
CI / test (4.4) (push) Failing after 11s
CI / test (5.0) (push) Failing after 10s
CI / test (5.1) (push) Failing after 12s
CI / lint (push) Failing after 4s
Test Suite / release-test (push) Has been skipped
Test Suite / test (push) Failing after 18s
Test Suite / integration-test (push) Has been skipped
Test Suite / lint (push) Failing after 5s
sync: checkpoint 2026-06-07
2026-06-07 21:10:52 -04:00
.ai-chats sync: checkpoint 2026-06-07 2026-06-07 21:10:52 -04:00
.cc-iterations sync: checkpoint 2026-06-07 2026-06-07 21:10:52 -04:00
.claude Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.claude-tasks Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.cursor Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.github/workflows Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.look Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.perpetual-motion sync: checkpoint 2026-06-07 2026-06-07 21:10:52 -04:00
.root-of-repo Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.specify Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.taskmaster Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.vscode Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
ai-chats Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
ai-knowledge Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
ai-protocols docs: improve CLAUDE.md with architecture deep-dive and implementation patterns 2025-11-22 20:24:33 -05:00
bin Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
completions Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
config Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
dev-knowledge Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
docs sync: checkpoint 2026-06-07 2026-06-07 21:10:52 -04:00
lib Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
scripts Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
tests Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.env.example Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
.gitignore Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
1.png Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
backward_compatibility_report.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
CLAUDE.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
CONTRIBUTING.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
deploy.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
fix-git-go.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
GEMINI.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
gogo-global.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
gogo.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
install.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
LICENSE Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
look--claude-code-help-docs.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
README.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
release.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
roadmap.md Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
sync.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00
test_backward_compat.sh Automated sync 2025-12-26: 182 modified, 26 staged, 12 new files 2025-12-26 11:17:42 -05:00

🚀 Git-Go

License: MIT PRs Welcome Made with Bash

Intelligent Git Repository Manager

Create and manage git repositories with smart sync scripts, VS Code integration, and AI-assisted development support.

FeaturesArchitectureInstallationUsageConfigurationContributing

Features

  • 🎯 Smart Repository Creation - Initialize new repos with sensible defaults and application type selection
  • 🔄 Intelligent Sync Scripts - Generated scripts handle upstream syncing, stashing, and multi-remote push
  • 📝 AI-Ready - Automatically creates CLAUDE.md files for AI-assisted development
  • 🎨 VS Code Integration - Built-in tasks for one-key synchronization (Ctrl+Shift+B)
  • ⚙️ Highly Configurable - Customize git hosts, templates, and behaviors
  • 🎭 Fork-Aware - Special handling for forked repositories with upstream tracking
  • 🔍 Security Scanning - Built-in tools to find and purge sensitive data
  • 🌈 Beautiful CLI - Colorful, informative output with progress indicators and single-key navigation
  • 🚀 Hybrid Architecture - Support for Electron/Web dual-mode applications
  • Performance Monitoring - Built-in profiling and performance optimization
  • 📋 Template System - Extensible template management with repo-snippets integration
  • 🎮 Application Types - Comprehensive 2-level menu system with 11 categories and 50+ subtypes

🏗️ Architecture

Git-Go v1.1.0 features a comprehensive modular architecture designed for performance, maintainability, and extensibility.

Core Modules

Git-Go is built around a modular library system with lazy loading and dependency management:

Module Purpose Dependencies
colors.sh Color output and formatting None
git-utils.sh Git operations and utilities None
performance-utils.sh Performance monitoring and optimization None
error.sh Error handling and reporting None
progress-utils.sh Progress indicators and spinners colors
menu-utils.sh Interactive menu system colors
app-type-selector.sh Application type selection with 2-level menus menu-utils
template-selector.sh Template management and copying colors
security.sh Security scanning and validation None
commands/common.sh Shared command utilities colors, git-utils, error, security

Key Architectural Features

  • 🔄 Lazy Loading: Modules are loaded on-demand with automatic dependency resolution
  • Performance Monitoring: Built-in profiling and performance tracking
  • 🛡️ Security Integration: Comprehensive security scanning and validation
  • 🎨 Enhanced UX: Single-key menu navigation and progress indicators
  • 🔧 Template System: Extensible template management with repo-snippets
  • 🚀 Hybrid Architecture: Support for Electron/Web dual-mode applications

Application Type System

Git-Go includes a sophisticated 2-level application type selection system supporting:

  • 🌐 Web Applications: 16 subtypes including React, Vue, Angular, static sites, e-commerce, etc.
  • 📱 Mobile Applications: 7 subtypes including native iOS/Android, React Native, Flutter, etc.
  • 🖥️ Desktop Applications: Electron and cross-platform desktop apps
  • CLI Applications: Command-line tools and automation scripts
  • 🔌 API/Backend Services: REST APIs, GraphQL, microservices, serverless
  • 🎮 Game Development: Browser games, mobile games, PC/console games
  • 🔧 Embedded/IoT: Firmware, IoT devices, automotive applications
  • 🌍 Browser Extensions: Chrome extensions, Firefox add-ons
  • 🤖 AI/ML Applications: Chatbots, computer vision, NLP tools
  • Specialized Applications: AR/VR, blockchain, data visualization

📦 Installation

Quick Install

The easiest way to install Git-Go is using our install script:

curl -sSL https://raw.githubusercontent.com/PowerAppsDarren/git-go/main/install.sh | bash

This will:

  • Download Git-Go to ~/.local/share/git-go
  • Create the git-go command in ~/.local/bin
  • Set up your initial configuration

Manual Install

If you prefer to review the install script first:

# Download and review the script
curl -sSL https://raw.githubusercontent.com/PowerAppsDarren/git-go/main/install.sh -o install.sh
less install.sh

# Run it when ready
bash install.sh

Or clone and install from source:

git clone https://github.com/PowerAppsDarren/git-go.git
cd git-go
./install.sh

Requirements

  • Git 2.0+
  • Bash 4.0+
  • Optional: VS Code for IDE integration

Post-Installation

If git-go is not found after installation, add ~/.local/bin to your PATH:

# For bash
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc

# For zsh
echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

🚀 Usage

Create a New Repository

git-go new --name my-awesome-project

Or interactively with application type selection:

git-go new

Create a hybrid Electron/Web application:

git-go new --name my-app --hybrid

Fork an Existing Repository

git-go fork --url https://github.com/torvalds/linux

Sync Your Repository

After creating or forking:

cd my-project
./scripts/sync.sh

Or in VS Code: Press Ctrl+Shift+B

⚙️ Configuration

Git-Go can be configured via ~/.config/git-go/config. Run:

git-go config

First-Time Setup

On first run, Git-Go will automatically launch a setup wizard:

git-go new --name my-project
# No configuration found. Running setup wizard...

Or run setup manually:

git-go setup

The wizard will guide you through:

  • Choosing your git hosting service (GitHub, GitLab, Bitbucket, etc.)
  • Setting up your username
  • Configuring optional secondary remotes
  • Enabling features like VS Code integration and AI assistance

📁 Generated Repository Structure

my-project/
├── README.md            # Project readme with application type information
├── LICENSE              # MIT license
├── .gitignore           # Smart gitignore based on project type
├── CLAUDE.md            # AI assistant instructions with hybrid architecture notes
├── scripts/
│   ├── sync.sh          # Intelligent sync script with upstream support
│   └── pushall.sh       # Multi-remote push script (if configured)
├── .vscode/
│   ├── tasks.json       # VS Code integration with git-go sync task
│   ├── keybindings.json # User keybindings (if copied)
│   └── extensions.json  # Recommended extensions (if copied)
├── .cursor/             # Cursor IDE configuration (if enabled)
├── ai-chats/            # AI chat documentation structure
│   └── dev-knowledge/   # Development knowledge base
├── src/                 # Source code directory (for hybrid apps)
│   └── lib/
│       └── electron-bridge.ts  # Environment detection for hybrid apps
├── electron/            # Electron desktop runtime (for hybrid apps)
├── package.json         # NPM configuration with hybrid scripts (for hybrid apps)
└── electron-builder.yml # Desktop app build configuration (for hybrid apps)

🎯 Command Reference

Command Description Example
new Create a new repository with application type selection git-go new --name my-project
fork Fork an existing repository git-go fork --url https://github.com/user/repo
clone Clone an existing repository git-go clone --url https://github.com/user/repo
config Edit configuration git-go config
status Show repository sync status git-go status
setup Run setup wizard git-go setup
version Show version git-go version
help Show help git-go help

🔒 Security Tools

Git-Go includes security tools to help you prepare repositories for public release:

Sensitive Data Scanner

The /my-sanitize command scans all your repositories for sensitive information:

/my-sanitize  # Scans ~/src, ~/_git, ~/git directories

This creates reports in ~/.src/[repo-name]/sensitive-info.md showing:

  • Personal usernames and emails
  • Private git server URLs
  • API keys and tokens
  • Hardcoded paths
  • Files that should be removed

Git History Purge Tool

The git-purge-sensitive command removes sensitive files from git history:

cd your-repo
git-purge-sensitive

Features:

  • Automatic Backups: Before purging, all sensitive files are backed up to ~/.src/[repo-name]/purged-files-[timestamp]/
  • Multiple Methods: Choose between git filter-branch, BFG Repo-Cleaner, or manual clean clone
  • Common Patterns: Pre-configured to remove config files, .env files, personal scripts
  • History Rewrite: Completely removes files from all commits in git history

⚠️ Warning: This rewrites git history. Always backup first and coordinate with collaborators before force-pushing.

Backup Locations

All sensitive file backups are stored in:

~/.src/
├── [repo-name]/
│   ├── sensitive-info.md           # Scan report
│   └── purged-files-[timestamp]/   # Backed up files
│       ├── README.md                # Restoration instructions
│       └── [original file structure]

🤝 Contributing

We love contributions! Please see our Contributing Guide for details.

Development

# Clone the repo
git clone https://github.com/yourusername/git-go.git
cd git-go

# Open in your favorite editor
cursor .  # or: code .

# The main script to edit is:
# bin/git-go

# Deploy locally and run tests
./deploy.sh

# Test your changes
git-go new --name test-project

# When ready to release a new version
./release.sh

Development Workflow

  1. Edit the code - The main script is bin/git-go. Open it in Cursor or VS Code:

    cursor bin/git-go  # or: code bin/git-go
    
  2. Deploy locally - This installs git-go to ~/bin and runs tests:

    ./deploy.sh
    
  3. Test manually - Try out your changes:

    git-go new --name test-repo
    
  4. Release - When ready to publish a new version:

    ./release.sh
    

Key Files

  • bin/git-go - Main executable script with modular architecture
  • lib/ - Modular library system:
    • colors.sh - Color output and formatting utilities
    • git-utils.sh - Git operations and utilities
    • performance-utils.sh - Performance monitoring and optimization
    • error.sh - Error handling and reporting
    • progress-utils.sh - Progress indicators and spinners
    • menu-utils.sh - Interactive menu system
    • app-type-selector.sh - Application type selection with 2-level menus
    • template-selector.sh - Template management and copying
    • security.sh - Security scanning and validation
    • commands/ - Command-specific modules (common.sh, new.sh, fork.sh, etc.)
  • tests/ - Comprehensive test suite with TDD framework
  • deploy.sh - Local deployment script (runs tests automatically)
  • release.sh - Version release script

📝 License

MIT © Your Name


If you find Git-Go useful, please this repository!