Skip to main content

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 save handles 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 defaults
  • config - 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

gitcli_automation-2.0.0.tar.gz (27.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gitcli_automation-2.0.0-py3-none-any.whl (30.8 kB view details)

Uploaded Python 3

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

Hashes for gitcli_automation-2.0.0.tar.gz
Algorithm Hash digest
SHA256 0b1271f2e9aaba3d86acbe2e6cc9d89be255d3e5f46100e52b43c7852a4bef90
MD5 c1713626230796ab8def4d8149560afc
BLAKE2b-256 0be063f43e158c0741a64d851f3ff84527862ff35cbeab9691704fffc7bfd509

See more details on using hashes here.

File details

Details for the file gitcli_automation-2.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for gitcli_automation-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1605f931bc35233a9651d49805f599fe9d53a64692895fe56ea398103b185a63
MD5 447f114c2b173a28a2010318d2d2b698
BLAKE2b-256 d08d45e4adb94d44b3b9d9eae6a0a50ad77370eb543e1dde84416215cb4d66c8

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page