Skip to content

sukeesh/ghpush

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

27 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ GHPush

AI-Powered GitHub Pull Request Creation Tool

PyPI version PyPI downloads License: MIT Python 3.11+


🌟 Overview

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

πŸš€ Quick Start

Installation

pip install ghpush

πŸ’‘ Check out ghpush on PyPI for the latest version and release notes.

Configuration

1. GitHub CLI Authentication (Required)

# 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 login

2. Choose Operating Mode

GHPush operates in two modes:

πŸ€– AI Mode (Recommended)

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"
πŸ“ Basic Mode
  • Automatically used when OpenAI API key is not set
  • No configuration needed
  • Provides simple summaries based on changed files

Usage

ghpush --base main

That's it! GHPush will:

  1. πŸ“ Analyze your changes
  2. πŸ€– Generate a PR title and description (AI or Basic mode)
  3. πŸ”„ Push your branch
  4. 🌐 Open the PR creation page

πŸ’‘ Tip: Make sure you've authenticated with GitHub CLI (gh auth login) before using GHPush.

✨ Features

  • πŸ”„ 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

πŸ›  Technical Requirements

  • Python β‰₯ 3.11
  • Dependencies:

🀝 Contributing

We love contributions! Here's how you can help:

πŸ› οΈ Development Setup

  1. Clone the repository:
git clone https://github.com/sukeesh/ghpush
cd ghpush
  1. Set up Python environment:

Using pyenv (Recommended)

# 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-dev

Using venv (Alternative)

python -m venv venv
source venv/bin/activate  # On Windows: venv\Scripts\activate
  1. Install dependencies:
pip install -e .
  1. 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.

πŸ”„ Contribution Steps

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’» Make your changes
  4. βœ… Ensure tests pass
  5. πŸ“ Update documentation if needed
  6. πŸ”„ Create a pull request

πŸ§ͺ Testing

# Install test dependencies
pip install pytest

# Run tests
pytest

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

🌟 Show Your Support

If you find GHPush useful, please consider:

  • ⭐ Starring the repository
  • πŸ› Reporting issues
  • 🀝 Contributing to the code
  • πŸ“’ Spreading the word

Made by Sukeesh

About

AI-Powered GitHub PR Creation Tool

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages