GHPush is an intelligent command-line tool that revolutionizes your GitHub workflow by automating pull request creation. It operates in two modes:
- π€ AI Mode: Generates detailed, context-aware PR titles and descriptions using OpenAI
- π Basic Mode: Creates simple, effective summaries based on file changes
pip install ghpushπ‘ Check out ghpush on PyPI for the latest version and release notes.
# Install GitHub CLI if you haven't already
brew install gh # macOS
# For other platforms, see: https://cli.github.com/
# Authenticate with GitHub
gh auth loginGHPush operates in two modes:
To enable AI-powered summaries:
# Linux/macOS
export OPENAI_API_KEY=your-api-key-here
# Windows (PowerShell)
$env:OPENAI_API_KEY="your-api-key-here"- Automatically used when OpenAI API key is not set
- No configuration needed
- Provides simple summaries based on changed files
ghpush --base mainThat's it! GHPush will:
- π Analyze your changes
- π€ Generate a PR title and description (AI or Basic mode)
- π Push your branch
- π Open the PR creation page
π‘ Tip: Make sure you've authenticated with GitHub CLI (
gh auth login) before using GHPush.
- π Dual Operation Modes:
- AI-Powered Mode: Rich, contextual PR summaries using OpenAI
- Basic Mode: Simple, effective change summaries
- π Automated Workflow: Push your branch and open GitHub's PR page in one command
- π Smart Diff Analysis: Intelligent analysis of your code changes
- π No GitHub Token Needed: Works with your local git configuration
- π Cross-Platform: Seamless experience on Windows, macOS, and Linux
- Python β₯ 3.11
- Dependencies:
We love contributions! Here's how you can help:
- Clone the repository:
git clone https://github.com/sukeesh/ghpush
cd ghpush- Set up Python environment:
# Install Python 3.11.9
pyenv install 3.11.9
# Create a virtual environment
pyenv virtualenv 3.11.9 ghpush-dev
# Activate the environment
pyenv activate ghpush-devpython -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -e .- Run locally:
# Using Python module directly (recommended for development)
python -m ghpush.cli --base main
# Or after installing in development mode
ghpush --base mainπ‘ Note: Using pyenv is recommended as it provides better Python version management and isolation.
- π΄ Fork the repository
- πΏ Create your feature branch (
git checkout -b feature/amazing-feature) - π» Make your changes
- β Ensure tests pass
- π Update documentation if needed
- π Create a pull request
# Install test dependencies
pip install pytest
# Run tests
pytestThis project is licensed under the MIT License - see the LICENSE file for details.
If you find GHPush useful, please consider:
- β Starring the repository
- π Reporting issues
- π€ Contributing to the code
- π’ Spreading the word