@minhchienwikipedia/ai-commit v2.2.0
AI-Commit: The Commit Message Generator
š» Tired of writing boring commit messages? Let AI-Commit help!
This package uses the power of OpenAI's GPT-4o-mini model to understand your code changes and generate meaningful commit messages for you. Whether you're working on a solo project or collaborating with a team, AI-Commit makes it easy to keep your commit history organized and informative.
Demo
How it Works
- Install AI-Commit using
npm install -g ai-commit - Generate an OpenAI API key here
- Set your
AI_COMMIT_API_KEYenvironment variable to your API key - Set
PROVIDERin your environment toopenaiorgemini. Default isopenai - Make your code changes and stage them with
git add . - Type
ai-commitin your terminal - AI-Commit will analyze your changes and generate a commit message
- Approve the commit message and AI-Commit will create the commit for you ā
Gemini Note
We're using https://openrouter.ai/ and the model google/gemini-2.0-flash-lite-preview-02-05:free for Gemini, it support many models also free model, you can create account and try your own key without paying anything.
Using local model (ollama)
You can also use the local model for free with Ollama.
- Install AI-Commit using
npm install -g ai-commit - Install Ollama from https://ollama.ai/
- Run
ollama run mistralto fetch model for the first time - Set
PROVIDERin your environment toollama - Make your code changes and stage them with
git add . - Type
ai-commitin your terminal - AI-Commit will analyze your changes and generate a commit message
- Approve the commit message and AI-Commit will create the commit for you ā
Options
--list: Select from a list of 5 generated messages (or regenerate the list)
--force: Automatically create a commit without being prompted to select a message (can't be used with --list)
--filter-fee: Displays the approximate fee for using the API and prompts you to confirm the request
--apiKey: Your OpenAI API key. It is not recommended to pass apiKey here, it is better to use env variable
--emoji: Add a gitmoji to the commit message
--template: Specify a custom commit message template. e.g. --template "Modified {GIT_BRANCH} | {COMMIT_MESSAGE}"
--language: Specify the language to use for the commit message(default: english). e.g. --language english
--commit-type: Specify the type of commit to generate. This will be used as the type in the commit message e.g. --commit-type feat
Contributing
We'd love for you to contribute to AI-Commit! Here's how:
- Fork the repository
- Clone your fork to your local machine
- Create a new branch
- Make your changes
- Commit your changes and push to your fork
- Create a pull request to the AI-Commit repository
Roadmap
- Support for multimple suggestions: Provide multiple suggestions for the commit message.
- Support for custom commit types: Allow users to specify a custom commit type manually.
- Automated scope detection: Detect the scope of changes and automatically include it in the commit message.
- Improved emoji suggestions: Enhance the emoji suggestions generated by AI-Commit to better match the changes made to the code.
- Commit message templating: Provide a customizable commit message template for users to follow.
- Interactive commit message generation: Allow users to interact with AI-Commit during the commit message generation process to provide more context and refine the generated message.
- Integration with Git hooks: Integrate AI-Commit with Git hooks so that it can automatically generate commit messages whenever changes are staged.
- Advanced diff analysis: Enhance AI-Commit's diff analysis capabilities to better understand the changes made to the code.
- Reverse commit message generation: Allow users to generate code changes from a commit message.
License
AI-Commit is licensed under the MIT License.
Happy coding š
9 months ago