Skip to content

Latest commit

 

History

5 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

🚀 ezgit

An interactive, AI-powered Git & GitHub helper — built for Termux

Stage, commit, push, branch, and resolve conflicts through a guided menu. Let AI write your commit messages. Never leak a secret in a diff again.

Shell Platform AI License PRs


✨ Why ezgit?

Git on a phone keyboard is painful. ezgit wraps the commands you use every day in a fast, numbered menu — and adds things Git doesn't do out of the box, like AI-generated commit messages and automatic secret redaction before anything is sent off-device.

🧭 Guided menu Stage, commit, push, branch, diff, resolve conflicts, manage PRs & issues — no flags to memorize
🤖 AI commit messages Conventional commits generated from your staged diff via Gemini, OpenRouter, or gh copilot
🔁 Model fallback cascade Automatically hops across Gemini models on quota limits, deprecations, or overload
🔑 Multi-key rotation Comma-separated API keys, rotated automatically when one is exhausted
🛡️ Secret redaction Two-pass scrubber strips AWS/GitHub/API keys, JWTs, and private key blocks before any diff reaches an AI
🧠 Commit memory Remembers your last commit message for quick reuse
👤 Multi-account & SSH signing Maps saved GitHub accounts to the correct SSH signing key automatically
🌿 Smart branch tools Interactive branch picker, safe force-push after reset, default-branch detection, commit re-signing

📦 Installation

# In Termux
pkg install git gh curl jq

git clone https://github.com/allocsys/ezgit.git
cd ezgit
chmod +x githelper.sh

# Optional: put it on your PATH
ln -s "$(pwd)/githelper.sh" $PREFIX/bin/gh1

⚡ Usage

gh1                # launch the interactive menu
gh1 --dry-run       # simulate everything — no mutations, no AI calls
gh1 <file>          # jump straight into that file's history
gh1 --gitignore     # jump straight to the .gitignore editor
gh1 --workspace     # jump straight to the workspace switcher
gh1 --help          # show all flags

🔐 Configuring AI keys

export GEMINI_API_KEY="key1,key2,key3"     # comma-separated = auto-rotation
export OPENROUTER_API_KEY="your-key"

ezgit will fail over instantly on an invalid key and retry on recoverable errors (rate limits, overloaded servers, deprecated models) using the next key or model in the chain.


🗂️ Local state files

File Purpose
.githelper_accounts Saved GitHub accounts
.githelper_lastmsg Last commit message (for reuse)
.githelper_ai_engine Active AI engine + fallback order
~/.githelper_ssh_keys Per-account SSH signing key map
~/.ssh/allowed_signers Allowed signers for verified commits

🧰 Requirements

  • git
  • gh (GitHub CLI) — with the gh-copilot extension for AI commit messages via Copilot
  • curl
  • jq

🤝 Contributing

Issues and PRs are welcome — this project is built for the Termux workflow, so real-world testing on Android is especially valuable.

📄 License

Released under the MIT License.

About

Interactive AI-powered Git & GitHub helper for Termux — guided commits, branch management, and automatic secret redaction before diffs reach an LLM.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Contributors

Languages