An AI tool to push files to GitHub repositories
Project description
🌟 Overview
GHPush is an intelligent command-line tool that revolutionizes your GitHub workflow by automating pull request creation. Using the power of AI, it analyzes your changes, generates meaningful PR titles and descriptions, and streamlines your contribution process - all without requiring a GitHub token!
✨ Features
- 🤖 AI-Powered Summaries: Leverages OpenAI's GPT models to create contextual PR titles and descriptions
- 🔄 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
- ⚡ Fallback Mode: Basic summarization when AI is not configured
🚀 Quick Start
Installation Options
📦 Using pip (Recommended)
pip install ghpush
💫 Usage
ghpush --base main
That's it! GHPush will:
- 📝 Analyze your changes
- 🤖 Generate a PR title and description
- 🔄 Push your branch
- 🌐 Open the PR creation page
⚙️ Configuration
OpenAI Integration (Optional)
- Create your configuration:
cp .env.example .env
- Add your OpenAI API key:
OPENAI_API_KEY=your_openai_api_key_here
💡 Note: GHPush works perfectly fine without AI integration, falling back to basic summarization.
🛠 Technical Requirements
- Python ≥ 3.8.1
- Dependencies:
- Click - CLI interface
- GitPython - Git operations
- Rich - Beautiful terminal output
- OpenAI - AI integration
- python-dotenv - Environment management
🤝 Contributing
We love contributions! Here's how you can help:
- 🍴 Fork the repository
- 🌿 Create your feature branch
- 💻 Make your changes
- 🔄 Create a pull request
📝 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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ghpush-0.1.3.tar.gz.
File metadata
- Download URL: ghpush-0.1.3.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
678bbaaa47d673c96b8eb741ece24ca7cff1d273a87dc89ed6566a353670b7d4
|
|
| MD5 |
0046c3f84876869b8a41daeaf1a626f7
|
|
| BLAKE2b-256 |
6d8fa6811c68a41b77cf409ebab916c54b7b94977a5715d51f518ed10aa3092e
|
File details
Details for the file ghpush-0.1.3-py3-none-any.whl.
File metadata
- Download URL: ghpush-0.1.3-py3-none-any.whl
- Upload date:
- Size: 11.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7fcdf44150328a113082f0686ebecb29502866a09ab189bc279bdb716ad31be
|
|
| MD5 |
cb85437a1cd0a6045355eb2466f13861
|
|
| BLAKE2b-256 |
23661feeaaa86f58b7dcd6fcb0f708b93b6e450f0928107fcdce1ecbd0b0aa83
|