A modern, AI-powered Windows utility to automate your GitHub workflow.
PushAgent integrates seamlessly with Windows Explorer and uses Google's Gemini AI to write professional commit messages and READMEs for you. Stop worrying about "git commit -m" and focus on coding.
- 🤖 AI Auto-Commit: Analyzes your
git diffand generates concise, context-aware commit messages using Gemini 1.5 Flash. - 📝 AI README Generator: Scans your project structure to generate a full, formatted
README.mdinstantly. - 📂 Explorer Integration: Press
Ctrl+Shift+Ginside any folder to launch the agent with that context. - 🔐 Secure: API keys are stored safely in the Windows Credential Manager (keyring).
- ☁️ Remote Automation: Creates new private/public repositories on GitHub or links to existing ones automatically.
- 🎨 Modern UI: Clean, intuitive interface built with CustomTkinter for Windows 10+ aesthetic.
- ⚡ Single Instance: Only one instance can run at a time—perfect for hotkey integration.
- Windows 10/11 (64-bit)
- Python 3.10+
- Git (installed and in PATH)
- GitHub CLI (
ghCLI, authenticated with GitHub account) - Google Gemini API Key (free tier available)
-
Clone the repository:
git clone https://github.com/Harsha754-ml/Pushagent.git cd Pushagent
-
Run the installer:
.\install.ps1
-
Install prerequisites:
# Install GitHub CLI winget install GitHub.cli # Authenticate with GitHub gh auth login
-
Install Python dependencies:
pip install -r requirements.txt -
Get your Gemini API Key:
- Visit Google AI Studio
- Click "Get API Key"
- Copy your free API key
-
(Optional) Setup Hotkey:
- Install AutoHotkey v2
- Run
hotkey.ahk - Press
Ctrl+Shift+Gin any Windows Explorer window to launch!
From Command Line:
python agent_gui.py [optional_folder_path]Via Hotkey:
- Press
Ctrl+Shift+Gin any Windows Explorer folder (requires AutoHotkey setup)
Via Python:
python agent_gui.py-
Settings Tab:
- Paste your Gemini API Key
- Click "Save & Fetch Models"
- (Optional) Test connection with "Test Selected Model"
-
Main Tab:
- Project Folder: Select a folder with
Browseor sync active Explorer with🔄 Sync - Repository Options:
- Existing Remote: Link to an existing GitHub repository
- Create New Remote: Generate a new GitHub repo
- Commit Message: Type manually or check ✨ Generate with Gemini
- README.md: Do nothing / Create Minimal / Generate with Gemini
- Click 🚀 Push to GitHub
- Project Folder: Select a folder with
-
Sit Back: The agent handles:
- Git initialization (if needed)
- Creating
.gitignore - Adding files
- Committing changes
- Creating/linking remote repository
- Pushing to origin
pushagent/
├── agent_gui.py # Main application (CustomTkinter UI)
├── hotkey.ahk # AutoHotkey Explorer integration script
├── install.ps1 # PowerShell installation script
├── requirements.txt # Python dependencies
├── README.md # This file
├── api_key.txt # API key storage (git-ignored)
└── 2.0/ # Experimental v2 (local LLM support)
├── app.py
├── analyzer.py
├── generator.py
└── auditor.py
GEMINI_API_KEY: Set this to skip entering API key each timePUSHAGENT_HOME: Custom configuration directory (defaults to%APPDATA%\PushAgent)
API keys are encrypted and stored in Windows Credential Manager via Python's keyring library.
- Uses IPC (Inter-Process Communication) on port
65432 - When launched again, brings existing window to focus
- Supports path passing between instances
The app auto-detects available Gemini models:
- Prioritizes
gemini-1.5-flash(best quota limits) - Falls back to
gemini-1.5-proif available - Supports manual model selection in Settings
- Auto-creates
.gitignoreif missing - Stages all files automatically
- Only commits if changes exist
- Supports creating/linking remote repositories
Contributions welcome! To contribute:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m '✨ Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
| Issue | Solution |
|---|---|
| "GitHub CLI not found" | Install from cli.github.com and run gh auth login |
| "API Key is missing" | Get a free key from Google AI Studio |
| Hotkey not working | Ensure AutoHotkey v2 is installed and hotkey.ahk is running |
| "Quota exceeded" for a model | Switch to gemini-1.5-flash in Settings (better quota limits) |
| Permission denied on push | Ensure gh auth login completed successfully |
- Issues & Bugs: GitHub Issues
- Discussions: GitHub Discussions
- Linux/macOS support
- Support for multiple AI providers (Claude, LLaMA, etc.)
- Commit message templates
- Auto-generate CHANGELOG
- Web-based UI
- VS Code extension
Made with ❤️ by HarsH for developers who just want to code