Skip to main content

RUN-GIT

Git Operations Made Effortless — One command to add, commit, pull, and push with smart auto-messages.

PyPI version Downloads Python 3.8+ License: MIT GitHub Stars

RUN-GIT Hero


Overview

RUN-GIT is a Python-powered CLI that simplifies Git workflows into single, intuitive commands. It handles the common add-commit-pull-push sequence automatically, generates meaningful commit messages, provides interactive branch management, and integrates with GitHub for repository creation.

Use case: Developers who run the same Git commands dozens of times daily and want a faster way to commit and push.

📦 Installation · 🚀 Quick Start · 📖 Commands · 🏗️ Architecture


Quick Push

Quick Push

One command does everything: run-git push


AI Assistant

AI Assistant

Get AI-powered code reviews, PR descriptions, and commit messages directly from your terminal.


Features

Feature Description
One-Command Push run-git push executes add → commit → pull → push automatically
Smart Commit Messages Auto-generates Conventional Commits style messages based on staged changes
Interactive TUI Full terminal menu for navigation without memorizing flags
GitHub Integration Create public/private repositories directly from CLI
Branch Management Create, switch, merge, and delete branches with simple commands
Commit Graph Visualize commit history with ASCII graphs and file diffs
Secret File Guard Warns before accidentally pushing sensitive files (.env, tokens)
Conflict Helper Guided interactive merge conflict resolution
Rich Status View Color-coded table-based status output
AI Assistant Generate commit messages, code reviews, and PR descriptions with AI
Tag & Release Create tags, push to remote, and publish GitHub releases with one click

Installation

pip install run-git

Requires Python 3.8+. Works on macOS, Linux, and Windows.

First time: Set your GitHub token with run-git init Upgrade: pip install --upgrade run-git


Quick Start

Push changes

run-git push                        # auto commit message + push
run-git push -m "feat: add login"  # custom commit message

Interactive menu

run-git          # full TUI — no commands to memorize

Create GitHub repository

run-git new my-project                              # guided wizard
run-git new my-project --quick                      # defaults, no prompts
run-git new my-api -d "REST API" --public -g Python -l MIT  # full options

Tag & Release

# Create a tag
run-git tag v1.0.0

# Create tag with message
run-git tag v1.0.0 -m "First stable release"

# Create tag + push to remote
run-git tag v1.0.0 --push

# One-click: Create tag + push + GitHub release
run-git tag v1.0.0 -r

# Create release with AI-generated notes
run-git tag v1.0.0 -r --ai

# Create draft release
run-git tag v1.0.0 -r --draft

# Release from existing tag
run-git release v1.0.0
run-git release v1.0.0 -t "Version 1.0.0" -b "Bug fixes and improvements"

Command Reference

Command Description
run-git Open the interactive TUI menu
run-git push Add, commit, pull, and push in one step
run-git push -m "<msg>" Push with custom commit message
run-git new <name> Create a new GitHub repository
run-git init Initialize a local or cloned repository
run-git status Rich color-coded repository status
run-git log Formatted commit history
run-git graph Visual commit history (table view)
run-git graph --graph ASCII graph with branch lines
run-git branch List all branches
run-git branch <name> Create a new branch
run-git switch <name> Switch to a branch
run-git merge <name> Merge a branch into current
run-git pull Pull latest changes
run-git sync Pull then push (keep in sync)
run-git remote Show configured remotes
run-git stash Stash uncommitted changes
run-git undo Undo last commit (keeps changes staged)
run-git config Manage configuration
run-git tag <name> Create and push a tag
run-git tag <name> -r Create tag + GitHub release
run-git release <name> Create release from existing tag
run-git --version Show installed version
run-git --help Show help for any command

Architecture

gitpush/
├── cli.py                 # Main CLI entry point (Click)
├── commands/              # Modular command handlers
│   ├── push.py           # Push command
│   ├── init.py           # Init command
│   ├── status.py         # Status & log commands
│   ├── branch.py         # Branch operations
│   ├── github.py         # GitHub integration
│   └── graph.py          # Commit graph visualization
├── core/                 # Business logic
│   ├── git_operations.py # Git operations
│   ├── commit_generator.py # Auto commit messages
│   └── conflict_resolver.py # Merge conflict handling
├── ui/                   # Terminal UI (Rich, questionary)
├── utils/                # Utilities (validators, formatters)
├── config/               # Configuration management
└── exceptions.py        # Custom exceptions

Design principles:

  • Separation of concerns: commands/ (thin orchestration), core/ (business logic), ui/ (terminal rendering)
  • Testable: Core logic independent of CLI dependencies
  • Extensible: New commands added as isolated modules

Auto Commit Messages

RUN-GIT analyzes staged changes and generates Conventional Commits style messages:

feat: add authentication module (3 files added)
fix: update user validation logic (2 files modified)
docs: update README (1 file modified)
refactor: remove deprecated helper functions (2 files deleted)

Comparison

Raw Git GitHub CLI (gh) RUN-GIT
Push in one command ❌ ❌ ✅
Auto commit messages ❌ ❌ ✅
Interactive TUI ❌ Partial ✅
Create GitHub repos ❌ ✅ ✅
Secret file warnings ❌ ❌ ✅

RUN-GIT is a speed layer on top of Git — not a replacement. Use it for daily work; reach for git or gh when you need fine-grained control.


Contributing

Contributions, bug reports, and feature requests are welcome.

# Clone and setup
git clone https://github.com/himanshu231204/run-git.git
cd gitpush

# Install in development mode
pip install -e ".[test]"

# Run tests
pytest

License

Distributed under the MIT License. See LICENSE for details.


Author

Himanshu Kumar — @himanshu231204


If RUN-GIT saves you time, please consider giving it a ⭐ — it helps others find the project!

Star History Chart

Metadata

Release files for run-git 1.5.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for run-git 1.5.0
File Size Uploaded
run_git-1.5.0.tar.gz 1.4 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for run-git 1.5.0
File Interpreter ABI Platform
run_git-1.5.0-py3-none-any.whl Python 3 none any Details

Total release size: 1.5 MB

Release files / run_git-1.5.0.tar.gz

Download URL run_git-1.5.0.tar.gz
Size 1.4 MB
Tags Source
SHA-256 checksum
How to use checksums
578a3f85b9cb0f51a0b9e797bf8474c05c6be93096924b6c698ed8fbad70520a
BLAKE2b-256 checksum
How to use checksums
ec42dd43924e7d6ee4cad7e05d53a2f5a49e5e9eab12fce132efcf93ee63e08f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release files / run_git-1.5.0-py3-none-any.whl

Download URL run_git-1.5.0-py3-none-any.whl
Size 95.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
cd10e9177937e08927beff4d52156305bfae2e36d43f132e80c6d3fa83b9817d
BLAKE2b-256 checksum
How to use checksums
ee2f325676acf1e62b6f0b3cffc2298ddeb31cc0426633edd732c69f5bb3f11f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.10.20

Release history Release notifications | RSS feed

This release

1.5.0 This release

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.1

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page