Added comprehensive safety features to prevent accidental commits and ensure user review of all generated commit messages: Safety enhancements: - Added mandatory review warning with clear visual indicators - Implemented double confirmation for all commit operations - Added option to regenerate commit message if not satisfied - Shows edited message for review after modifications - Added explicit "no auto-push" reminders after commits - Created ~/.claude-commit.conf for safety preferences Documentation updates: - Updated CLAUDE.md with clear commit workflow for Claude Code - Added safety features section to tool documentation - Clarified that manual review is always required - Documented the review-approve-commit-push workflow These changes ensure users always have full control over commit messages and prevent accidental commits or pushes without explicit approval.
3.9 KiB
3.9 KiB
Claude Commit - AI-Powered Git Commits
Automatically generate Conventional Commit messages using Claude AI by analyzing your git diff.
🚀 Quick Setup
One-Line Install (Simplest)
On any computer, just run:
# Download and run the setup script
curl -sSL https://raw.githubusercontent.com/soulcraft-research/brainy/main/docs/tools/claude-commit/setup.sh | bash
Manual Install
If you have the brainy repo cloned:
cd ~/Projects/brainy/docs/tools/claude-commit
./setup.sh
Using Dotfiles (For Multiple Machines)
-
First time: Create your dotfiles repository
# Copy the dotfiles folder from brainy to a new repo cp -r ~/Projects/brainy/docs/tools/claude-commit/dotfiles ~/Projects/my-dotfiles cd ~/Projects/my-dotfiles git init git add . git commit -m "feat: add claude-commit dotfiles" # Create a GitHub repo and push -
On any new computer:
# One-line install from your dotfiles curl -sSL https://raw.githubusercontent.com/yourusername/my-dotfiles/main/install.sh | bash
📖 Usage
After installation, use git cc in any git repository:
# Make your changes
git cc
# The tool will:
# 1. Analyze your changes
# 2. Generate a Conventional Commit message
# 3. ⚠️ REQUIRE YOUR REVIEW
# 4. Let you edit, regenerate, or cancel
# 5. NEVER auto-push
🛡️ Safety Features
- Always Requires Review: You MUST explicitly approve every commit message
- Double Confirmation: Asks "Confirm commit? [y/N]" before committing
- Edit Option: Modify the message in your editor before committing
- Regenerate Option: Request a new message if not satisfied
- No Auto-Push: NEVER pushes automatically - you control when to push
- Clear Formatting: Shows the full message with clear visual separation
📁 What Gets Installed
~/.local/bin/claude-commit- The main script~/.claude-commit.conf- Optional configuration file- Git aliases:
git ccandgit smart-commit - PATH update (if needed)
🔄 Keeping Computers in Sync
Manual Sync
On any computer, update to latest version:
# From brainy repo
curl -sSL https://raw.githubusercontent.com/yourusername/brainy/main/dotfiles/bin/claude-commit > ~/.local/bin/claude-commit
chmod +x ~/.local/bin/claude-commit
Automatic Sync with Dotfiles
If you set up a dotfiles repo:
cd ~/Projects/my-dotfiles
git pull
./install.sh
💻 Per-Computer Setup Checklist
When setting up a new computer:
- Install Claude CLI (
claudecommand must work) - Run the setup script
- Restart terminal or
source ~/.bashrc - Test with
git ccin any repo
🧪 Testing
After setup, test in any git repository:
# Make a change to any file
echo "test" >> README.md
# Use claude to commit
git cc
🔧 Troubleshooting
"command not found: claude"
- Install Claude CLI from https://claude.ai/code
"command not found: git cc"
- Run:
source ~/.bashrc(or~/.zshrcfor Zsh) - Verify:
ls -la ~/.local/bin/claude-commit
Script not generating commits
- Check Claude CLI works:
claude --version - Ensure you have changes:
git status
📝 Files in This Setup
brainy/
├── setup-claude-commit.sh # Standalone installer
├── CLAUDE_COMMIT_SETUP.md # This file
└── dotfiles/ # Portable dotfiles
├── README.md # Dotfiles documentation
├── install.sh # Master installer
├── setup-claude-commit.sh # Claude commit installer
└── bin/
└── claude-commit # The actual script
🎯 Summary
For your laptop, you have three options:
- Quickest: Run the setup script from brainy repo
- Portable: Create a dotfiles repo and install from there
- Manual: Copy the script directly to
~/.local/bin/
All methods give you the same git cc command that works in any git repository!