Show HN: Tool to Automatically Create Organized Commits for PRs

1 week ago 1

Use AI to transform your messy commit history into clean, logical commits that reviewers will love

Why Use Git Smart Squash?

Ever spent 30 minutes reorganizing commits before a PR? We've all been there. Git Smart Squash uses AI to automatically organize your changes into logical, well-structured commits in seconds.

Before (your typical feature branch):

* 7f8d9e0 fix tests * 6c5b4a3 typo * 5a4b3c2 more auth changes * 4d3c2b1 WIP: working on auth * 3c2b1a0 update tests * 2b1a0f9 initial auth implementation

After (AI-organized commits):

* a1b2c3d feat: implement complete authentication system with JWT tokens * e4f5g6h test: add comprehensive test coverage for auth endpoints

The AI analyzes your entire diff and groups related changes together, creating clean commit messages that follow conventional commit standards.

pip install git-smart-squash

2. Set up AI (choose one)

Option A: Local AI (Free & Private) - Default for Privacy

# Install Ollama from https://ollama.com ollama serve ollama pull devstral

Option B: Cloud AI (if you have API keys)

export OPENAI_API_KEY="your-key" # or export ANTHROPIC_API_KEY="your-key" # or export GEMINI_API_KEY="your-key"
cd your-git-repo git checkout your-feature-branch # Run it - shows the plan and asks for confirmation git-smart-squash # Or auto-apply without confirmation prompt git-smart-squash --auto-apply

That's it! Your commits are now beautifully organized.

"I need to clean up before PR review"

git-smart-squash # Shows plan and prompts for confirmation git-smart-squash --auto-apply # Auto-applies without prompting

"I work with a different main branch"

git-smart-squash --base develop

"I want to use a specific AI provider"

git-smart-squash --ai-provider openai

"I use the short command"

gss # Same as git-smart-squash

Don't worry - Git Smart Squash is designed to be safe:

  • Dry run by default - always shows you the plan first
  • Always creates a backup branch before making changes
  • Never pushes automatically - you stay in control
  • Easy recovery - your original commits are always saved
# Your original branch is always backed up git branch | grep backup # Find your backup git reset --hard your-branch-backup-[timestamp]
Provider Cost Privacy Setup
Ollama (default) Free 100% Local ollama pull devstral
OpenAI ~$0.01/use Cloud Set OPENAI_API_KEY
Anthropic ~$0.01/use Cloud Set ANTHROPIC_API_KEY
Gemini ~$0.01/use Cloud Set GEMINI_API_KEY

Advanced Configuration (Optional)

Want to customize? Create a config file:

Project-specific (.git-smart-squash.yml in your repo):

ai: provider: openai # Use OpenAI for this project

Global default (~/.git-smart-squash.yml):

ai: provider: local # Always use local AI by default

Install Ollama from https://ollama.com and run:

ollama serve ollama pull devstral

"No changes to reorganize"

Make sure you're on your feature branch with committed work:

git diff main # Should show differences from main

"Large diff taking too long" or "Token limit exceeded"

When using Ollama (local AI), there's a hard limit of 32,000 tokens (roughly 128,000 characters). For large diffs, try:

  • Breaking your work into smaller chunks
  • Using --base with a more recent commit
  • Switching to a cloud provider for this operation: --ai-provider openai

Check out our detailed documentation or open an issue!

MIT License - see LICENSE file for details.


Made with love for developers who want cleaner git history

Read Entire Article