demo-v1.mp4
commit-ai is a Neovim plugin that automatically generates commit messages using AI and summarizes changes properly! π‘
- 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.