Overview Version History Q & A Rating & Review
Nota AI Commit
Use OpenAI / Azure OpenAI / DeepSeek / Gemini API to review Git changes, generate conventional commit messages that meet the conventions, simplify the commit process, and keep the commit conventions consistent.
English · 简体中文 · Marketplace · Report Bug · Request Feature
✨ Features
🤯 Support generating commit messages based on git diffs using ChatGPT / Azure API / DeepSeek / Gemini API.
🗺️ Support multi-language commit messages.
😜 Support adding Gitmoji.
🛠️ Support custom system prompt.
📝 Support Conventional Commits specification.
This project is forked from sitoi/ai-commit with the following enhancements:
✅ Allow generating commit messages even when there are no staged changes (default behavior: prefer staged diff, fallback to unstaged diff)
✅ Add ai-commit.DIFF_SOURCE setting to control which git changes are used (auto / staged / unstaged / staged+unstaged)
✅ Add ai-commit.SCM_INPUT_BEHAVIOR setting to control whether to send the SCM input box content as AI context (context / ignore)
✅ Add ai-commit.REFERENCE_GIT_LOG setting to provide recent git log --oneline history as model context
✅ Supports Custom Endpoint URLs for Gemini
📦 Installation
Search for "Nota AI Commit" in VSCode and click the "Install" button.
Install it directly from the Visual Studio Code Marketplace .
Note
Make sure your node version >= 16
⚙️ Configuration
In the VSCode settings, locate the "ai-commit" configuration options and configure them as needed:
Configuration
Type
Default
Required
Notes
DIFF_SOURCE
string
auto
No
Which changes to use: auto (prefer staged), staged, unstaged, staged+unstaged (adds separators).
SCM_INPUT_BEHAVIOR
string
context
No
How to treat SCM input box content: ignore (always ignore), context (send as additional context/requirements).
REFERENCE_GIT_LOG
bool
false
No
Include recent git log --oneline history as additional context for the model (disabled by default).
GIT_LOG_COUNT
number
20
No
How many recent commits to include (1-50).
GIT_LOG_AUTHOR_SCOPE
string
all
No
Which authors to include: all or self (uses git config user.name).
AI_PROVIDER
string
openai
Yes
Select AI Provider: openai or gemini.
OPENAI_API_KEY
string
None
Yes
Required when AI Provider is set to OpenAI. OpenAI token
OPENAI_BASE_URL
string
None
No
If using Azure, use: https://{resource}.openai.azure.com/openai/deployments/{model}
OPENAI_MODEL
string
gpt-5-mini
Yes
OpenAI MODEL, you can select a model from the list by running the Show Available OpenAI Models command
AZURE_API_VERSION
string
None
No
AZURE_API_VERSION
OPENAI_TEMPERATURE
number
0.7
No
Controls randomness in the output. Range: 0-2. Lower values: more focused, Higher values: more creative
GEMINI_API_KEY
string
None
Yes
Required when AI Provider is set to Gemini. Gemini API key
GEMINI_BASE_URL
string
None
No
Gemini Base URL (optional). Use a third-party provider endpoint if needed; otherwise leave empty.
GEMINI_MODEL
string
gemini-2.0-flash-001
Yes
Gemini MODEL. Currently, model selection is limited to configuration.
GEMINI_TEMPERATURE
number
0.7
No
Controls randomness in the output. Range: 0-2 for Gemini. Lower values: more focused, Higher values: more creative
AI_COMMIT_LANGUAGE
string
en
Yes
Supports 19 languages
SYSTEM_PROMPT
string
None
No
Custom system prompt
📝 License
This project is MIT licensed.