User-friendly command-line tool for Git that simplifies everyday operations. Perfect for developers who want powerful Git functionality without the complexity.
Project description
GitCLI - Git Operations Automation
GitCLI is a user-friendly command-line tool for Git that simplifies everyday operations. Perfect for developers who want powerful Git functionality without the complexity.
Features
- 🚀 Smart Save -
gitcli savehandles everything with intelligent defaults - 🤖 Smart Commit Messages - Learns from your history and suggests messages
- 🛡️ Pre-save Validation - Detects debug code, secrets, conflicts, and large files
- 🔄 Auto-pull Before Push - Prevents conflicts automatically
- ⚙️ Fully Configurable - Customize every behavior to match your style
- 🪝 Git Hooks Management - Built-in templates for linting, testing, formatting
- 🔧 Conflict Resolution - Interactive helper for merge conflicts
- �️ Crosss-platform - macOS, Linux, Windows
Installation
Quick Install (Recommended)
One-line installer:
curl -sSL https://raw.githubusercontent.com/Adelodunpeter25/GitCLI/main/install.sh | bash
Alternative Methods
Using pipx (recommended for Python users):
pipx install gitcli-automation
Using pip:
pip install gitcli-automation
From source:
git clone https://github.com/Adelodunpeter25/GitCLI.git
cd GitCLI
pip install -e .
Uninstall
curl -sSL https://raw.githubusercontent.com/Adelodunpeter25/GitCLI/main/uninstall.sh | bash
Quick Start
# Make changes, then save everything
gitcli save
# Or with custom message
gitcli save "fix: resolve login bug"
# Configure behavior
gitcli config
# Interactive mode
gitcli
Key Commands
Smart Commands:
save/save <message>- Stage, commit, push with smart defaultsconfig- Configure behavior
Core: commit, push, pull, sync, status, log, diff, stage, qp
Branches: switch-branch, add-branch, delete-branch, list-branch
Stash: stash, stash-pop, stash-apply, stash-list
Advanced: hooks, resolve-conflicts, amend, reset, remotes
Type gitcli help for full list.
Examples
# Daily workflow
gitcli save # Smart save with auto-message
gitcli save "feat: add authentication" # Custom message
# Branch workflow
gitcli add-branch feature-x
gitcli save
gitcli switch-branch main
# Stash workflow
gitcli stash
gitcli switch-branch main
gitcli stash-pop
# Hooks
gitcli hooks # Setup automation
gitcli list-hooks # View active hooks
Requirements
- Python 3.7+
- Git installed and configured
Git Hooks
Built-in templates for automation:
- Pre-commit: Linting, formatting, tests, debug detection
- Pre-push: Full tests, branch protection, build verification
- Commit-msg: Conventional commits, message validation
- Post-commit: Notifications, auto-backup
gitcli hooks # Setup
gitcli list-hooks # View active
Configuration
Run gitcli config to customize behavior:
- auto_stage - Auto-stage all changes (default: true)
- auto_push - Prompt to push after commit (default: true)
- learn_from_history - Smart commit messages (default: true)
- pre_save_validation - Validate before commit (default: true)
- auto_pull_before_push - Sync before push (default: true)
- auto_fix_formatting - Run formatters (default: false)
- confirm_force_push - Confirm force push (default: true)
Validation rules: Detects debug code, secrets, conflicts, large files (configurable)
Config stored in .gitcli-config.json
License
MIT License - see LICENSE file for details.
Author
Adelodunpeter - GitHub
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file gitcli_automation-2.0.0.tar.gz.
File metadata
- Download URL: gitcli_automation-2.0.0.tar.gz
- Upload date:
- Size: 27.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0b1271f2e9aaba3d86acbe2e6cc9d89be255d3e5f46100e52b43c7852a4bef90
|
|
| MD5 |
c1713626230796ab8def4d8149560afc
|
|
| BLAKE2b-256 |
0be063f43e158c0741a64d851f3ff84527862ff35cbeab9691704fffc7bfd509
|
File details
Details for the file gitcli_automation-2.0.0-py3-none-any.whl.
File metadata
- Download URL: gitcli_automation-2.0.0-py3-none-any.whl
- Upload date:
- Size: 30.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.9.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1605f931bc35233a9651d49805f599fe9d53a64692895fe56ea398103b185a63
|
|
| MD5 |
447f114c2b173a28a2010318d2d2b698
|
|
| BLAKE2b-256 |
d08d45e4adb94d44b3b9d9eae6a0a50ad77370eb543e1dde84416215cb4d66c8
|