UNPKG

claude-auto-commit

Version:

AI-powered Git commit message generator using Claude Code SDK

183 lines (148 loc) 6.44 kB
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## [0.1.0] - 2025-06-14 ### 🎉 Major Version Update: CLI to SDK Migration This release marks a significant architectural shift from Claude CLI dependency to Claude Code SDK integration, providing improved performance, reliability, and extensibility. ### Added - ✨ Full Claude Code SDK integration (replaces CLI dependency) - 📝 Enhanced template support for saving and reusing commit messages - ⚙️ Configuration file support (~/.claude-auto-commit/config.json) - 🔄 Retry mechanism with exponential backoff - 🚀 Auto-push functionality - 📊 Verbose logging and performance metrics - 🌐 Enhanced multi-language support (English and Japanese) - 😊 Emoji support in commit messages - 📋 Conventional Commits format support - 🔧 One-liner installer and runner scripts - ⚡ Performance optimizations (parallel processing, caching) - 🛡️ Enhanced error handling and resilience - 📦 NPM package support for global installation ### Changed - **BREAKING**: Migrated from Claude CLI to Claude Code SDK - **BREAKING**: Node.js 22.0.0+ now required (upgraded from 16.0.0+) - **BREAKING**: Main script changed from `.sh` to `.js` (src/claude-auto-commit.js) - **BREAKING**: Installation method updated for SDK dependencies - Improved structured codebase with object-oriented design - Enhanced documentation and usage examples - Updated installation process for SDK dependencies ### Technical Details - Dependencies: @anthropic-ai/claude-code ^1.0.22 - Runtime: Node.js 22.0.0+ with ES modules support - Architecture: Full JavaScript/TypeScript implementation - Performance: Parallel git command execution, intelligent caching - NPM: Available as both global CLI and local package ### Migration from v0.0.5 All core features from the CLI-based v0.0.5 are maintained with significant improvements: - Backward compatible command-line interface - Enhanced reliability and error handling - Better performance and user experience - Extended functionality with templates and configuration ### Installation Options ```bash # Method 1: One-liner installation (recommended) curl -fsSL https://raw.githubusercontent.com/0xkaz/claude-auto-commit/main/scripts/install.sh | bash # Method 2: NPM global installation npm install -g claude-auto-commit # Method 3: One-time execution (no installation) curl -fsSL https://raw.githubusercontent.com/0xkaz/claude-auto-commit/main/scripts/run-once.sh | bash ``` ### Usage Examples ```bash # Basic usage claude-auto-commit # Japanese with emojis and conventional commits claude-auto-commit -l ja -e -c # Use specific commit type and auto-push claude-auto-commit -t feat --push # Dry run with template saving claude-auto-commit --dry-run --save-template my-template # Use saved template claude-auto-commit --template my-template ``` ### Configuration Create `~/.claude-auto-commit/config.json`: ```json { "language": "ja", "useEmoji": true, "conventionalCommit": true, "verbose": false } ``` ### Requirements - Node.js 22.0.0 or later - Claude Code SDK (automatically installed) - Git repository - ANTHROPIC_API_KEY environment variable ## [0.0.5] - 2024-06-13 ### Added - **Template System** for saving and reusing commit message patterns - `--save-template <name> "<template>"` to save a template - `--template <name>` or `-T <name>` to use a saved template - `--list-templates` to show all saved templates - `--delete-template <name>` to remove a template - **Smart placeholders** in templates using `{variable}` syntax - Prompts for values when using templates with placeholders - Supports multiple placeholders in a single template - Example: `🔥 HOTFIX: {description} - fixes {issue}` - Templates stored in `~/.claude-auto-commit/templates/` ## [0.0.4] - 2024-06-13 ### Added - `--smart-group` flag to analyze and group related files for logical commits - Detects frontend, backend, tests, docs, config, and style files - Shows file categories and statistics - Supports verbose mode for detailed file listings - `--analyze-history` command to learn from commit history - Analyzes emoji usage patterns - Calculates average commit message length - Detects common commit prefixes - Identifies language preferences - Saves results to `~/.claude-auto-commit/commit-style.yml` - `--style learned` option to apply learned commit patterns - Uses analyzed emoji usage percentage - Targets learned average message length - Automatically enables emoji if usage > 50% ### Fixed - macOS compatibility for grep commands (removed -P flag) - Bash 3.x compatibility (removed associative arrays) ## [0.0.3] - 2024-06-13 ### Added - `--dry-run` flag for generating commit messages without committing - `--summary` flag for displaying detailed change statistics - File-by-file statistics - Lines added/deleted count - File type breakdown ### Changed - **BREAKING**: Changed default interface language from Japanese to English - All system messages, prompts, and outputs now default to English - Help text and usage information displayed in English - Error messages and status updates in English - Comments in source code translated to English - Improved change summary display with emoji indicators ### Fixed - Consistent language experience for international users - Better compatibility with global development teams ## [0.0.2] - 2024-06-13 ### Added - Push confirmation prompt before pushing to remote repository - `-y` / `--yes` flag to skip push confirmation - CHANGELOG.md file ### Changed - Default behavior now asks for confirmation before pushing - Updated documentation to reflect new push confirmation feature ### Security - Prevents accidental pushes to remote repository ## [0.0.1] - 2024-06-13 ### Added - Initial release - AI-powered commit message generation using Claude CLI - Multi-language support (English, Japanese, Chinese) - Auto-update functionality - Conventional Commits support - Configurable options through CLI flags and config file - One-line installation script - Comprehensive documentation [0.0.2]: https://github.com/0xkaz/claude-auto-commit/compare/v0.0.1...v0.0.2 [0.0.1]: https://github.com/0xkaz/claude-auto-commit/releases/tag/v0.0.1