Skip to content

Use Azure/OpenAI API to review Git changes, generate conventional commit messages that meet the conventions, simplify the commit process, and keep the commit conventions consistent.

License

Notifications You must be signed in to change notification settings

Sitoi/ai-commit

Repository files navigation

AI Commit

Use Azure/OpenAI API to review Git changes, generate conventional commit messages that meet the conventions, simplify the commit process, and keep the commit conventions consistent.

English · 简体中文 · Report Bug · Request Feature

✨ Features

  • 🤯 Support generating commit messages based on git diffs using ChatGPT / Azure API.
  • 🗺️ Support multi-language commit messages.
  • 😜 Support adding Gitmoji.
  • 🛠️ Support custom system prompt.
  • 📝 Support Conventional Commits specification.

📦 Installation

  1. Search for "AI Commit" in VSCode and click the "Install" button.
  2. Install it directly from the Visual Studio Code Marketplace.

Note
Make sure your node version >= 16

🤯 Usage

  1. Ensure that you have installed and enabled the "AI Commit" extension.
  2. In VSCode settings, locate the "ai-commit" configuration options and configure them as needed.
  3. Make changes in your project and add the changes to the staging area (git add).
  4. Next to the commit message input box in the "Source Control" panel, click the "AI Commit" icon button. After clicking, the extension will generate a commit message and populate it in the input box.
  5. Review the generated commit message, and if you are satisfied, proceed to commit your changes.

Note
If the code exceeds the maximum token length, consider adding it to the staging area in batches.

⚙️ Configuration

Note Version >= 0.0.5 Don't need to configure EMOJI_ENABLED and FULL_GITMOJI_SPEC, Default Prompt is prompt/without_gitmoji.md, If don't need to use Gitmoji. Please set SYSTEM_PROMPT to your custom prompt, please refer to prompt/without_gitmoji.md.

In the VSCode settings, locate the "ai-commit" configuration options and configure them as needed:

Configuration Type Default Required Notes
OPENAI_API_KEY string None Yes OpenAI token
OPENAI_BASE_URL string None No If using Azure, use: https://{resource}.openai.azure.com/openai/deployments/{model}
OPENAI_MODEL string gpt-4o Yes OpenAI MODEL
AZURE_API_VERSION string None No AZURE_API_VERSION
AI_COMMIT_LANGUAGE string en Yes Supports 19 languages
SYSTEM_PROMPT string None No Custom system prompt

⌨️ Local Development

You can use Github Codespaces for online development:

Alternatively, you can clone the repository and run the following commands for local development:

$ git clone https://github.com/sitoi/ai-commit.git
$ cd ai-commit
$ npm install

Open the project folder in VSCode. Press F5 to run the project. This will open a new Extension Development Host window and launch the plugin within it.

🤝 Contributing

Contributions of all types are more than welcome, if you are interested in contributing code, feel free to check out our GitHub Issues to get stuck in to show us what you’re made of.

💗 All Thanks To Our Contributors

🔗 Links

Credits


📝 License

This project is MIT licensed.