commit-ai is a Neovim plugin that automatically generates commit messages using AI and summarizes changes properly! π‘
demo.mp4
- Automated Commit Message Generation β Analyzes changes (git diff) and generates commit messages automatically.
- AI-Powered Suggestions β UsesAI to create meaningful commit messages.
- Multiple Commit Message Options β Provides different commit types (feat, fix, chore, enhancement, etc.).
- Multiple Commit Languages β Supports multiple commit message languages.
- Neovim 0.10+.
- plenary.nvim
- telescope.nvim
- An API key for at least one of the supported AI providers
{ 'Abizrh/commit-ai.nvim', dependencies = { 'nvim-lua/plenary.nvim', 'nvim-telescope/telescope.nvim', }, config = function() require('commit-ai').setup { icons = false, language = 'en', -- default language -- unopiniated commit conventions git_conventions = { docs = { icon = "π", prefix = "docs", type = "Documentation changes" }, fix = { icon = "π", prefix = "fix", type = "Bug fix" }, feat = { icon = "β¨", prefix = "feat", type = "New feature" }, enhance = { icon = "β‘", prefix = "enhance", type = "Enhancement" }, chore = { icon = "π§Ή", prefix = "chore", type = "Chore" }, refactor = { icon = "β οΈ", prefix = "refactor", type = "Breaking change" } }, provider_options = { gemini = { model = 'gemini-2.0-flash', api_key = vim.env.GEMINI_API_KEY, -- assuming you have set GEMINI_API_KEY in .zshrc or .bashrc stream = false, }, } } end, },
Command | Description |
---|---|
:Commit |
generate a commit message suggestions with AI |
Contributions are welcome! Please feel free to open an issue or submit a pull request.