Got tired of thinking about commit messages and following pattern , so setup scripts for it and use gemni api
- 🎯 Conventional commit format with emojis
- 🎨 Automatic emoji selection based on commit type
- 👀 Preview changes before committing
- 📦 Standalone binary - No language installation required!
- 🔧 One-time setup with Gemini API key
No Python installation required! Download a single executable file:
# macOS (Apple Silicon) - 33 MB ✅
curl -L https://github.com/skyspec28/smart_commit/releases/latest/download/smart-commit-macos -o smart-commit
chmod +x smart-commit
# Linux - 44.6 MB ✅
curl -L https://github.com/skyspec28/smart_commit/releases/latest/download/smart-commit-linux -o smart-commit
chmod +x smart-commit
# Windows - 33 MB ✅
Invoke-WebRequest -Uri "https://github.com/skyspec28/smart_commit/releases/latest/download/smart-commit-windows.exe" -OutFile "smart-commit.exe"Visit the Releases page and download the binary for your platform:
- macOS:
smart-commit-macos✅ Available (33 MB) - Windows:
smart-commit-windows.exe✅ Available (33 MB) - Linux:
smart-commit-linux✅ Available (44.6 MB)
All platforms are now supported! 🎉
# Configure once (enter your Google AI API key)
./smart-commit config
# Stage your changes
git add .
# Generate and commit with AI
./smart-commit commitNote: On Windows, use smart-commit.exe instead of ./smart-commit
That's it! 🎉 No Python, no pip, no dependencies needed.
If you prefer to install from source or contribute to the project:
- Python 3.8+ - Download here
- Google AI API Key - Free from Google AI Studio
For macOS/Linux:
# Clone and install with one command
git clone https://github.com/skyspec28/smart_commit.git
cd smart_commit
./install.shFor Windows:
# Clone the repository
git clone https://github.com/skyspec28/smart_commit.git
cd smart_commit
# Install dependencies
pip install -r requirements.txt
# Install globally
pip install -e .
# Configure your API key
smart-commit configThe installation will:
- ✅ Check system requirements
- 📦 Install Smart Commit globally
- 🔧 Guide you through API key setup
For Standalone Binary:
# Configure your API key (first-time setup)
./smart-commit config
# Check configuration status
./smart-commit status
# Generate and make a commit
./smart-commit commit
# Skip confirmation prompt
./smart-commit commit --no-confirm
# Show help
./smart-commit --helpFor Python Installation:
# Configure your API key (first-time setup)
smart-commit config
# Check configuration status
smart-commit status
# Generate and make a commit
smart-commit commit
# Skip confirmation prompt
smart-commit commit --no-confirm
# Show help
smart-commit --helpMessages follow the conventional commit format with emojis:
<emoji> type(scope): subject
Example: ✨ feat(auth): Add OAuth2 authentication
Common types:
- ✨ feat: New features
- 🐛 fix: Bug fixes
- 📝 docs: Documentation
- ♻️ refactor: Code refactoring
- 🎨 style: Code style/formatting
- ⚡ perf: Performance improvements
- 🔧 chore: Maintenance tasks
- Go to Google AI Studio
- Sign in with your Google account
- Click "Create API Key"
- Copy the generated API key
- Run
./smart-commit config(orsmart-commit.exe configon Windows) and paste your key
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
./smart-commit commit) - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
For developers who want to contribute:
# Clone the repository
git clone https://github.com/skyspec28/smart_commit.git
cd smart_commit
# Create virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Install in development mode
pip install -e .
# Build standalone binary
./build_binary.shSimply delete the binary file:
# Remove the binary file
rm smart-commit
# Or if you renamed it
rm smart-commit-macos
rm smart-commit-linux
rm smart-commit.exeIf you installed via pip:
# Uninstall the package
pip uninstall smart-commit
# Remove configuration files (optional)
rm -rf ~/.config/smart-commitIf you added aliases to your shell config:
# Edit your shell config file
nano ~/.zshrc # or ~/.bashrc
# Remove these lines:
# alias sc="./smart-commit"
# alias gitadd="git add"
# Reload your shell
source ~/.zshrcThis project is licensed under the MIT License.