@terranlabs/ai-commit
v2.1.1
Published
✨ Make Github commits easier with ChatGPT, Gitmoji and Conventional Commits 🚀
Downloads
2
Maintainers
Readme
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-3 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
OPENAI_API_KEY
environment variable to your API key - Make your code changes and stage them with
git add .
- Type
ai-commit
in 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 ✅
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 mistral
to fetch model for the first time - Set
PROVIDER
in your environment toollama
- Make your code changes and stage them with
git add .
- Type
ai-commit
in 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
- [x] Support for multimple suggestions: Provide multiple suggestions for the commit message.
- [x] 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.