brainy/docs/tools/claude-commit
David Snelling dd158c8073 feat(tools): propagate safety features to all projects
Enhanced the claude-commit tool with comprehensive safety features and
deployed them across all projects:

Safety improvements:
- Added mandatory review warning with visual indicators
- Implemented double confirmation before committing
- Added regenerate option for new commit messages
- Shows edited messages for review after modifications
- Added configuration file creation in setup script
- Created ~/.claude-commit.conf for user preferences

Deployment updates:
- Updated setup.sh with embedded safety features
- Copied enhanced script to github-package
- Copied enhanced script to bluesky-package
- Copied enhanced script to scout-search
- Updated dotfiles version for portability

Documentation:
- Updated CLAUDE.md with clear commit workflow for Claude Code
- Documented review-approve-commit-push process
- Added instructions for multi-machine consistency

These changes ensure consistent safety features across all projects
and machines, with mandatory review before any commit operation.
2025-08-04 10:28:01 -07:00
..
dotfiles feat(safety): enhance claude-commit with mandatory review and safety features 2025-08-04 10:21:52 -07:00
README.md feat(safety): enhance claude-commit with mandatory review and safety features 2025-08-04 10:21:52 -07:00
setup.sh feat(tools): propagate safety features to all projects 2025-08-04 10:28:01 -07:00

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)

  1. 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
    
  2. 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 cc and git 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 (claude command must work)
  • Run the setup script
  • Restart terminal or source ~/.bashrc
  • Test with git cc in 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"

"command not found: git cc"

  • Run: source ~/.bashrc (or ~/.zshrc for 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:

  1. Quickest: Run the setup script from brainy repo
  2. Portable: Create a dotfiles repo and install from there
  3. Manual: Copy the script directly to ~/.local/bin/

All methods give you the same git cc command that works in any git repository!