@shennawy/committer
v1.4.9
Published
Manage Git commits effortlessly with the 'Committer'.
Readme
Committer
Committer is a package that streamlines the process of crafting standard Git commit messages, assisting developers in maintaining a consistent and clean commit history.
Table of Contents
- Installation
- Features
- Usage
- Configuration
- JIRA Integration
- AI-Powered Commit Messages
- Authors
- Contributing
- License
Installation
sudo npm i @shennawy/committer -gFeatures
- 📝 Standardized commit message formatting
- 🔍 Interactive file selection for staged changes
- 🔄 Re-use last commit message
- 🏗️ Build integration support
- 🎯 JIRA integration with automatic issue title fetching
- 🚀 Streamlined git workflow
- 🤖 AI-powered commit message generation
Usage
The package provides the cmt command with several powerful options:
Basic Usage
cmt # Start the interactive commit process
cmt -s # Start commit process with file selection
cmt -lc # Use last commit message.
cmt -b # Build and commit
cmt -jr # Commit with JIRA integrationConfiguration
The tool uses standard Git configuration and can be integrated with your existing Git workflow. For JIRA integration, ensure your credentials are properly configured.
JIRA Integration
When using the -jr flag, Committer will:
- Connect to your JIRA instance
- Automatically fetch the issue title
- Include the JIRA issue reference in your commit message
AI-Powered Commit Messages
Committer includes an advanced AI-powered commit message generation feature using Google's Generative AI (Gemini). This feature:
- 🧠 Automatically analyzes your code changes
- 📝 Generates concise, professional commit messages
- 🔄 Integrates with JIRA summaries when available
- ✨ Follows commit message best practices
Setup
To use the AI feature:
- You'll be prompted to provide your Google Generative AI API key on first use
- The key will be securely stored for future use
Features
- Analyzes git diff to understand changes
- Incorporates JIRA summaries when available
- Generates context-aware commit messages
- Follows conventional commit format
- Limits messages to 10 words for conciseness
Authors
- Mahmoud Shennawy | GitHub | LinkedIn | [email protected]
See the list of contributors who participated in this project.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes using Committer 😉 (
cmt) - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
