1.1.5 β’ Published 9 months ago
gpush-ai v1.1.5
π gpush - AI-Powered Git Commit Assistant
Generate perfect commit messages effortlessly with AI!
gpush leverages OpenAI GPT-4o or AWS Bedrock Claude models to craft clear, conventional commit messages and push your changesβall in one command.
π Features
- AI-Driven Commit Messages: Automatically generates concise, conventional commits from staged changes
 - Multi-Provider Support: Choose between OpenAI or AWS Bedrock (Claude models)
 - Secure Configuration: Encrypted API key storage and environment variables
 - Dry-Run Mode: Preview generated messages without committing
 - Smart Diff Truncation: Handles large diffs gracefully to stay within AI token limits
 
π¦ Installation
npm install -g gpush-aiPrerequisites:
- Node.js v18+
 - Git installed
 - API key for OpenAI or AWS credentials for Bedrock access
 
βοΈ Configuration
1. Set API Key (OpenAI)
gpush config --set-key sk-your-openai-key-here2. Choose AI Provider & Model
| Command | Description | Example | 
|---|---|---|
gpush ai:provider <provider> | Set provider (openai or bedrock) | gpush ai:provider bedrock | 
gpush ai:model <model> | Set model (e.g., gpt-4o, Claude models) | gpush ai:model anthropic.claude-3-haiku-20240307-v1:0 | 
gpush ai:aws-region <region> | Set AWS region for Bedrock | gpush ai:aws-region us-east-1 | 
3. Verify Configuration
gpush statusπ οΈ Usage
Generate & Push Commit
gpush pushOptions:
--dry-run: Preview message without committing--force: Force push changes--branch <name>: Specify target branch
Example Workflow:
git add .
gpush push --dry-run  # Preview message
gpush push            # Commit and pushπ All Commands
| Command | Description | 
|---|---|
gpush push | Main command to generate and push commits | 
gpush ai:provider | Switch between OpenAI/Bedrock | 
gpush ai:model | Set default AI model | 
gpush ai:aws-region | Configure AWS region for Bedrock | 
gpush config | Manage API key | 
gpush status | Show current configuration | 
π Environment Variables
| Variable | Description | Default | 
|---|---|---|
MAX_DIFF_LENGTH | Truncate diffs longer than this | 4000 | 
GPUSH_ENCRYPTION_KEY | Custom encryption key for config | - | 
π¨ Troubleshooting
Common Issues:
- "No API key configured": Run 
gpush config --set-key - AWS Bedrock Access Denied: Ensure IAM permissions include 
bedrock:InvokeModel - Long Diffs: Increase 
MAX_DIFF_LENGTHif truncation occurs 
Error Codes:
- 1: Configuration error
 - 3: AI generation failure
 - 4: API connection issue
 
π Security
- API keys are encrypted using conf
 - AWS credentials use the default AWS SDK credential chain
 
π€ Contributing
Contributions welcome! 1. Fork the repository 2. Create a feature branch 3. Submit a PR with tests and documentation updates
π License
MIT
β‘ Inspired by
- CursorAI
 - Me, myself and I
 - Mom
 
Happy committing! β¨
Made with β€οΈ by Me