Introduction
Ever struggled with writing Git commit messages?
I used to face these daily challenges:
- "Can't think of the right English expression..."
- "Commit message granularity is all over the place"
- "Making it comply with Conventional Commits is tedious every time"
- "Ending up with lazy messages like
fix
orupdate
"
Especially during late-night coding sessions, I'd write commit messages like "it works now" and later wonder "what did this fix again?"
That's why I developed Claude Auto-Commit - a tool that leverages Claude AI to solve these problems once and for all.
GitHub: https://github.com/0xkaz/claude-auto-commit
Website: https://claude-auto-commit.0xkaz.com
Features & Demo
🚀 Key Features
- Intelligent Message Generation: Claude AI understands code changes and generates appropriate messages
- Multi-language Support: Supports 6 languages including Japanese, English, and Chinese
- Safety Features: Pre-push confirmation to prevent accidental mistakes
- Commit History Analysis (v0.0.5): Learns from past patterns for personalization
- Smart File Grouping (v0.0.5): Logically categorizes related files
- Auto-update Feature: Daily checks for the latest version
- Lightweight Implementation: Fast operation with simple shell scripts
📺 Real Usage Example
# Before: My traditional commits
git commit -m "fix"
git commit -m "update user"
git commit -m "it works" # This is embarrassing...
# After: Using Claude Auto-Commit
$ claude-auto-commit
# AI analyzes and generates messages like:
✨ Add user authentication feature with JWT tokens
- Implement login endpoint with email/password validation
- Add JWT token generation and verification middleware
- Create protected route guards for authenticated users
# Pre-push confirmation feature
⚠️ About to push to remote repository (main branch)
Continue with push? (y/n):
The difference is remarkable!
Technical Stack
Technology Choices and Rationale
-
Language: Node.js (ES Modules)
- Modern JavaScript implementation
- Parallel processing for enhanced performance
- Rich ecosystem and tooling
-
AI: Claude Code SDK (Anthropic)
- High-quality natural language understanding/generation
- OAuth authentication for secure connections
- Exponential backoff for improved stability
-
Distribution: npm + GitHub Releases
- Easy execution via
npx
- Automated version management
- Easy execution via
-
CI/CD: GitHub Actions
- Automated testing and releases
Installation & Usage
Easy Installation
# Direct execution with npm (recommended)
npx claude-auto-commit
# Or traditional installation method
curl -fsSL https://claude-auto-commit.0xkaz.com/install.sh | bash
Basic Usage
# Basic usage (OAuth authentication, auto-connect)
npx claude-auto-commit
# Japanese commit messages
npx claude-auto-commit --lang ja
# Conventional Commits format
npx claude-auto-commit --conventional
# Dry run mode (don't actually commit)
npx claude-auto-commit --dry-run
# Template system utilization (v0.1.4 new feature)
npx claude-auto-commit --template "feat: {description}"
# Show statistics
npx claude-auto-commit --summary
Configuration File
// ~/.claude-auto-commit/config.json
{
"language": "en",
"conventional": true,
"templates": {
"feature": "feat: {description}",
"bugfix": "fix: {description}",
"docs": "docs: {description}"
},
"auth": {
"method": "oauth"
},
"advanced": {
"maxDiffLines": 200,
"timeout": 30,
"retryCount": 3,
"enableCache": true
}
}
Performance & Optimization
Measured Performance Results
- Average execution time: 1-2 seconds (significantly improved in v0.1.4)
- Claude Code SDK communication: 0.8-1.5 seconds
- Parallel processing: <0.3 seconds
- Caching efficiency: 50% faster after initial run
Optimization Highlights
- Parallel Processing & Caching
// v0.1.4 parallel processing implementation
const [diffAnalysis, historyData] = await Promise.all([
analyzeDiff(gitDiff),
getCachedHistory()
]);
- Exponential Backoff
// Improved stability with retry functionality
const result = await retryWithBackoff(async () => {
return await claudeCodeSDK.generateMessage(prompt);
}, { maxRetries: 3 });
-
Intelligent Caching
- Persistent Claude Code SDK response caching
- Project-specific configuration caching
- Template result optimization
Real-World Impact
Development Efficiency Improvements
Results from 3 weeks of private beta testing:
- Time Savings: 10 minutes saved per day (about 60 hours annually!)
- History Quality: 80% improvement in readability (subjective evaluation)
- Team Efficiency: 30% reduction in code review time
- Stress Reduction: Almost zero hesitation during commits
User Feedback
"I can't develop without this anymore. My commit history became beautiful, making it easier to track my past work"
"I was bad at English, but now I can write professional messages with confidence"
"Our whole team adopted it, and the project's readability improved dramatically"
Architecture & Implementation
Processing Flow
graph LR
A[Get Git diff] --> B[Analyze file changes]
B --> C[Build Claude API prompt]
C --> D[AI message generation]
D --> E[User confirmation]
E --> F[Execute commit]
F --> G[Push confirmation]
G --> H[Execute push]
Smart Change Analysis (v0.0.5)
# Smart file grouping
analyze_changes() {
local changes=$(git diff --name-only)
# Categorize by file type
local frontend_files=$(echo "$changes" | grep -E "\\.(js|jsx|ts|tsx|vue|react)$")
local backend_files=$(echo "$changes" | grep -E "\\.(py|go|java|rb|php)$")
local test_files=$(echo "$changes" | grep -E "test|spec")
# Analyze nature of changes
local additions=$(git diff --numstat | awk '{sum += $1} END {print sum}')
local deletions=$(git diff --numstat | awk '{sum += $2} END {print sum}')
generate_context_prompt "$frontend_files" "$backend_files" "$test_files" "$additions" "$deletions"
}
Future Roadmap
Features in Development
- [ ] VS Code Extension: Seamless operation within the editor
- [ ] GitHub Actions Integration: CI/CD pipeline integration
- [ ] PR Description Auto-generation: Generate pull request descriptions from commit history
- [ ] Team Settings Sharing: Organization-wide setting standardization
- [ ] Plugin System: Adding custom functionality
Community Participation Welcome
This project is completely open source!
- Issues: Feature requests and bug reports
- Pull Requests: Code improvements and new features
- Translation: Multi-language documentation
- Testing: Operation verification in various environments
Beginners are very welcome. Why not start with fixing typos in documentation?
Getting Started
Recommended Target Users
- Individual developers struggling with commit messages daily
- Lead engineers wanting to unify commit quality across teams
- Those who feel anxious about creating English messages
- Managers wanting to improve project readability
Installation & First Steps
# Install now for free
curl -fsSL https://claude-auto-commit.0xkaz.com/install.sh | bash
# Try it out
cd your-project
claude-auto-commit --dry-run
# Start using it
claude-auto-commit
Conclusion
Claude Auto-Commit is a tool that dramatically improves Git workflows using AI.
Key Highlights
- 🧠 Intelligent Message Generation: High-quality commit messages that understand code changes
- 🌍 Multi-language Support: Support for Japanese, English, Chinese, and 6 languages total
- 📊 Learning Capability: Remembers your style for personalization (v0.0.5)
- 🔒 Safety Features: Pre-push confirmation to prevent mistakes
- ⚡ Fast & Lightweight: High-speed processing averaging under 3 seconds
- 🔄 Auto-update: Always access to the latest features
Proven Benefits
- Save 60 hours annually
- Improve commit history quality
- Increase team development efficiency
- Eliminate anxiety about English commit messages
Transform "time spent worrying about commit messages" into "creative development time."
Start free today:
npx claude-auto-commit
GitHub: https://github.com/0xkaz/claude-auto-commit
Website: https://claude-auto-commit.0xkaz.com
Please try it out and let us know your feedback!
Let's make developers' daily lives better together 🚀
Tags: #claude #ai #git #productivity #opensource #cli #automation #devtools
Top comments (0)