https://github.com/hunkim/sgit
https://github.com/hunkim/sgit
Last synced: 7 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/hunkim/sgit
- Owner: hunkim
- License: mit
- Created: 2025-06-03T13:16:31.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-06-12T03:55:06.000Z (7 months ago)
- Last Synced: 2025-06-12T04:39:34.776Z (7 months ago)
- Language: Go
- Size: 20.7 MB
- Stars: 3
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# sgit - AI-Powered Git That Writes Perfect Commits
> **Never write a bad commit message again.** sgit uses AI to generate professional conventional commits automatically while maintaining 100% git compatibility.
## ๐ฌ See the Magic
### Your Current Git Workflow ๐
```bash
$ git add .
$ git commit -m "fix stuff"
$ git commit -m "updates"
$ git commit -m "more changes"
```
### With sgit โจ
```bash
$ sgit commit -a
๐ค Analyzing changes...
feat(auth): implement OAuth2 login with Google integration
Add secure OAuth2 authentication flow with token refresh mechanism.
Update login component to handle redirects and error states gracefully.
Include comprehensive test coverage for authentication service.
โจ Resolves #123, improves security architecture
? Use this commit? (Y/n) โ
```
**Result**: Transform meaningless commits into professional documentation that impresses reviewers and future developers! ๐
---
## โก Quick Start (30 seconds)
```bash
# 1. Install
curl -fsSL https://raw.githubusercontent.com/hunkim/sgit/main/scripts/install.sh | bash
# 2. Use like git, but better
sgit commit -a # ๐ค AI writes your commit message
sgit diff # ๐ AI explains what changed
sgit log # ๐ AI analyzes your patterns
```
**That's it!** All your existing git commands work exactly the same: `sgit status`, `sgit push`, `sgit pull`, etc.
---
## ๐ Why Developers Love sgit
- **๐ฏ Perfect Commits**: Conventional commits with context, not "fix stuff"
- **โก Zero Learning**: Drop-in git replacement - use your existing knowledge
- **๐ Multi-Language**: AI responds in 7+ languages (`--lang ko` for Korean!)
- **๐ 100% Compatible**: All git commands work - scripts, aliases, everything
- **โจ๏ธ Smart Completion**: Tab completion for commands and language codes
- **๐ก๏ธ Privacy First**: Your code stays local, only diffs sent for analysis
---
## ๐ Features That Transform Your Workflow
| Traditional Git | sgit Enhancement |
|----------------|------------------|
| `git commit -m "fix"` | **AI generates**: `fix(api): resolve rate limiting edge case in Redis backend` |
| `git diff` | **AI explains**: "Refactored authentication middleware to use JWT validation" |
| `git log` | **AI insights**: "Focus on security improvements, 3 bug fixes this week" |
| Manual file staging | **AI recommends**: "Add these 4 source files, skip temp files" |
---
## ๐ ๏ธ Installation Options
**๐ Recommended (includes tab completion):**
```bash
curl -fsSL https://raw.githubusercontent.com/hunkim/sgit/main/scripts/install.sh | bash
```
**๐บ Homebrew:**
```bash
brew tap hunkim/sgit && brew install sgit
```
**๐ฆ Go Install:**
```bash
go install github.com/hunkim/sgit@latest
```
**๐ณ Docker:**
```bash
docker run --rm -it -v $(pwd):/workspace hunkim/sgit:latest
```
---
## ๐ง Configuration (2 minutes)
```bash
sgit config # Set up your free Upstage API key
```
Get your API key at [console.upstage.ai](https://console.upstage.ai/) (free tier available).
---
## ๐ฏ Core Commands
### Smart Commits
```bash
sgit commit # AI writes commit message
sgit commit -a # Stage all + AI commit
sgit commit -a --lang ko # Korean AI responses
```
### Intelligent Analysis
```bash
sgit diff # AI explains changes
sgit log # AI analyzes patterns
sgit add --all-ai # AI recommends files to stage
```
### Traditional Git (unchanged)
```bash
sgit status # Same as git status
sgit push # Same as git push
sgit pull # Same as git pull
```
---
## ๐ Multi-Language Support
```bash
sgit --lang ko commit # Korean: "๊ธฐ๋ฅ: ์ฌ์ฉ์ ์ธ์ฆ ์์คํ
๊ตฌํ"
sgit --lang ja diff # Japanese: "ๅคๆดๅ
ๅฎนใฎๅๆ..."
sgit --lang es log # Spanish: "Anรกlisis de patrones..."
```
**Supported**: English, Korean, Japanese, Chinese, Spanish, French, German
---
## ๐ Privacy & Security
- โ
**Local First**: Your code stays on your machine
- โ
**Diff Only**: Only git diffs sent for commit message generation
- โ
**No Storage**: Upstage doesn't store your code or diffs
- โ
**Open Source**: Full transparency, audit the code yourself
---
## ๐ Examples
### Before sgit ๐ฑ
```
git log --oneline -5
a1b2c3d fix stuff
e4f5g6h updates
h7i8j9k more changes
k1l2m3n bug fix
n4o5p6q refactor
```
### After sgit ๐
```
sgit log --oneline -5
a1b2c3d feat(auth): implement OAuth2 with Google integration
e4f5g6h fix(db): resolve connection pooling memory leak
h7i8j9k docs(api): add comprehensive endpoint documentation
k1l2m3n perf(cache): optimize Redis operations for 40% speed gain
n4o5p6q refactor(ui): modernize component architecture with hooks
```
**Night and day difference!** ๐
---
## ๐ vs Other Tools
| Feature | sgit | Conventional Commits | Other AI Tools |
|---------|------|---------------------|----------------|
| **Zero Learning Curve** | โ
| โ | โ |
| **Full Git Compatibility** | โ
| โ
| โ |
| **AI Commit Messages** | โ
| โ | โ
|
| **Multi-Language** | โ
| โ | โ |
| **Privacy Focused** | โ
| โ
| โ |
| **Tab Completion** | โ
| โ | โ |
---
## ๐ค Contributing
```bash
git clone https://github.com/hunkim/sgit.git
cd sgit
go build
sgit commit -a # Use sgit to contribute to sgit! ๐
```
---
## โญ Love sgit?
- ๐ **Star this repo** if sgit saves you time
- ๐ **Report issues** at [github.com/hunkim/sgit/issues](https://github.com/hunkim/sgit/issues)
- ๐ก **Request features** - we're always improving
- ๐ฃ๏ธ **Spread the word** - help other developers write better commits
---
## ๐ License
MIT License - see [LICENSE](LICENSE) file.
**Created with โค๏ธ by developers, for developers.**
---
> **Ready to transform your git workflow?** Try sgit today and never write "fix stuff" again! ๐
>
> ```bash
> curl -fsSL https://raw.githubusercontent.com/hunkim/sgit/main/scripts/install.sh | bash
> ```