Skip to main content

The ultimate Git companion. Type less, do more.

Project description

cheGi

The ultimate Git companion. Type less, do more.

PyPI version PyPI downloads Python Documentation License: MIT Copr build status Docker pulls Docker image

cheGi is a fast, developer-friendly CLI for managing Git across your entire workspace. Scan multiple repositories at once, catch secrets before they ship, sync branches safely, and automate the repetitive parts of your daily Git workflow — all from a single tool with a beautiful terminal UI.

cheGi donates 20% of all funding to charity — local aid, disaster relief, and community causes. See CHARITY.md for details.

Features

  • Workspace scan — Discover Git repos concurrently and get a unified status overview
  • Security guard — Detect sensitive files (.env, keys, tokens) in staged changes
  • Safe sync — Pull with rebase, push, and auto-stash when your tree is dirty
  • Commit reword — Update commit messages interactively, including older commits
  • Environment setup — Bootstrap dev toolchains (Python, Go, Rust, and more)
  • Gitignore generator — Build .gitignore files from technology presets
  • Flexible config — Per-workspace settings via .chegi.json

Requirements

  • Python 3.8+
  • Git installed and available on your PATH

Installation

All methods

Method Command
pip (PyPI) pip install chegi
Homebrew (macOS) brew tap Ad-alwer/chegi && brew install chegi
Docker docker pull adalwer/chegi
PPA (Ubuntu/Debian) sudo add-apt-repository ppa:ad-alwer/chegi && sudo apt update && sudo apt install chegi
COPR (Fedora) sudo dnf copr enable alwer/cheGi && sudo dnf install python3-chegi
AUR (Arch Linux) yay -S chegi (pending submission)
Source pip install git+https://github.com/Ad-alwer/cheGi.git

From source (development)

git clone https://github.com/Ad-alwer/cheGi.git
cd cheGi
python -m venv .venv
source .venv/bin/activate   # Windows: .venv\Scripts\activate
pip install -e ".[dev]"

Quick Start

# Scan all repositories under your projects folder
chegi scan ~/projects

# Check staged files for secrets before committing
chegi guard

# Sync the current repository (pull --rebase, then push)
chegi sync

Commands

Command Description
scan Scan a directory tree for Git repositories and report their status
guard Check staged files for sensitive data before committing
sync Safely sync the current branch with its remote
reword Reword a commit message interactively
setup Install and configure a development environment
gitignore Generate a .gitignore file from technology presets
config Manage workspace settings and package-manager mirrors

Full documentation: ad-alwer.github.io/cheGi

Run chegi --help or chegi <command> --help for built-in usage details.

Configuration

Settings are stored in .chegi.json at the root of your scan path:

chegi config list
chegi config set max_depth 5
chegi config exclude-add node_modules

See CONTRIBUTING.md for development setup and SECURITY.md for the security policy.

Development

pip install -e ".[dev]"
pytest -v
ruff check src tests

License

MIT — see LICENSE.

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

chegi-0.3.1.tar.gz (45.8 kB view details)

Uploaded Source

Built Distribution

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

chegi-0.3.1-py3-none-any.whl (61.2 kB view details)

Uploaded Python 3

File details

Details for the file chegi-0.3.1.tar.gz.

File metadata

  • Download URL: chegi-0.3.1.tar.gz
  • Upload date:
  • Size: 45.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chegi-0.3.1.tar.gz
Algorithm Hash digest
SHA256 63733a8640316a3c0809c2eb059607fa96b8738a2b6a24bb445cb4edec883591
MD5 07c725b6f3e4ffdd0e318e935ad155ed
BLAKE2b-256 a48f60872975658fa1fbd38f64284f0c906bc7f8f2ae663d0946b3471c074d75

See more details on using hashes here.

Provenance

The following attestation bundles were made for chegi-0.3.1.tar.gz:

Publisher: pypi.yaml on Ad-alwer/cheGi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file chegi-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: chegi-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 61.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for chegi-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d5ec0d8b2ed5c47459f879c967f6878c078ac2eddc117f4d104246bc981397f3
MD5 94aa54c1afec9c70286950352d549174
BLAKE2b-256 e1c4e7e05a712ab1a2ffdc14eb823e39a636f0ec50bbc196207b0707fd73e813

See more details on using hashes here.

Provenance

The following attestation bundles were made for chegi-0.3.1-py3-none-any.whl:

Publisher: pypi.yaml on Ad-alwer/cheGi

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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