giq is a Git wrapper that enhances your Git workflow with AI-powered features. It provides intelligent commit message suggestions and status insights while maintaining full compatibility with standard Git commands.
- AI-Powered Commit Messages: Automatically generates contextual commit messages based on your staged changes
- Intelligent Status Insights: Provides AI-enhanced analysis of your working tree status
- Multi-Provider Support: Works with both OpenAI and Azure OpenAI
- Git Command Passthrough: Seamlessly delegates unknown commands to your system's Git
- Interactive Setup: User-friendly configuration wizard
giq is available via Homebrew for macOS (both Apple Silicon and Intel) and Linux:
# Add the tap
brew tap doganarif/giq
# Install giq
brew install giq
To upgrade to the latest version:
brew upgrade giq
To uninstall:
brew uninstall giq
- Go 1.19 or later
- Git installed and available in your PATH
- OpenAI API key or Azure OpenAI credentials
- Clone the repository:
git clone https://github.com/doganarif/giq.git
cd giq
- Build the binary:
go build
- Move the binary to a location in your PATH:
# Linux/macOS
sudo mv giq /usr/local/bin/
# Windows
# Move giq.exe to a location in your PATH
Pre-built binaries for various platforms are available on the releases page.
Supported platforms:
- macOS (Apple Silicon/ARM64)
- macOS (Intel/AMD64)
- Linux (x86_64)
- Linux (ARM64)
Run the interactive setup wizard:
giq setup
This will guide you through:
- Selecting your AI provider (OpenAI or Azure OpenAI)
- Entering your API credentials
- Saving the configuration
Configuration is stored in ~/.config/giq/config.yaml
(or equivalent on Windows).
You can also create the configuration file manually:
For OpenAI:
ai_provider: openai
ai_key: your-openai-api-key
For Azure OpenAI:
ai_provider: azure_openai
azure_endpoint: https://your-resource.openai.azure.com/
azure_deployment_id: your-deployment-id
azure_api_key: your-azure-api-key
azure_api_version: 2022-12-01
# Stage your changes as usual
git add .
# Generate AI-powered commit message
giq commit
# Or provide your own message
giq commit -m "your message"
When using giq commit
without a message:
- View staged files
- Choose from AI-generated commit message suggestions
- Or enter a custom message
giq status
Shows:
- Standard Git status output
- AI-generated insights about your changes
giq passes through any unrecognized commands to Git:
# These work exactly like standard git commands
giq push
giq pull
giq branch
# etc.
You can configure giq using environment variables:
GIQ_AI_PROVIDER
: AI provider (openai
orazure_openai
)GIQ_AI_KEY
: OpenAI API keyGIQ_AZURE_ENDPOINT
: Azure OpenAI endpointGIQ_AZURE_DEPLOYMENT_ID
: Azure OpenAI deployment IDGIQ_AZURE_API_KEY
: Azure OpenAI API keyGIQ_AZURE_API_VERSION
: Azure OpenAI API version
Environment variables take precedence over configuration file settings.
giq/
├── internal/
│ ├── ai/ # AI service integration
│ ├── app/ # Core application logic
│ ├── cmd/ # Command implementations
│ └── config/ # Configuration management
└── main.go # Application entry point
- Fork the repository
- Create your 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.