Automatically generate clear and concise commit messages for your Git changes using local or cloud-based AI models integrated with VS Code.
- Automatic suggestion of commit messages based on repository changes.
- Support for both local models via LM Studio and cloud-based models via Google AI (Gemini).
- Dynamic selection of available models.
- Choice of message style (
default,detailed,draft). - Configurable notifications for quick feedback.
- Support for commit messages in multiple languages (
en,pt). - User-friendly interface integrated with VS Code's SCM.
- For local models: LM Studio installed and running.
- For cloud models: A Google AI API Key for Gemini models.
- Node.js and npm installed for development.
- Git installed and repository opened in VS Code.
- Clone the repository:
git clone https://github.com/dev-pedro/commit-assistant.git
- Install the dependencies:
npm install
- Compile the extension:
npm run compile
- Start LM Studio and load the desired model(s).
- Run and test the extension in VS Code (press F5 for development mode).
- Open the SCM (source control) menu in VS Code.
- Click the "Generate Commit Suggestion" button or run the command
Commit Assistant: Generate Commit Suggestion. - If you have multiple models configured, you may be prompted to choose one.
- The suggested message will be automatically inserted into the commit field.
The extension offers the following options in settings.json:
CommitAssistant.ApiProvider: API provider to use (LM StudioorGoogle).CommitAssistant.ApiKey: Your Google API Key for Gemini.CommitAssistant.googleModel: The Google model for generating commit messages.CommitAssistant.LocalModel: The local model used for commit suggestions via LM Studio.CommitAssistant.MessageStyle: Message style (default,detailed,draft).CommitAssistant.enableNotifications: Enable/disable notifications.CommitAssistant.CommitIdiom: Language for the commit message (en,pt).
- The command "Show Commit Assistant Settings" needs to be implemented to function correctly.
- Ensure that LM Studio is running and models are loaded.
Follow the changes in each version in CHANGELOG.md.
For questions or suggestions, please open an issue on GitHub.

