GitCommitBuddy is an AI-powered assistant designed to help developers effortlessly generate meaningful and concise commit messages.
Managing individual changes in multiple files can be overwhelming, and this tool simplifies the process by leveraging advanced large language models (LLMs).
- AI-assisted commit messages: Supports Gemini-1.5-Flash-Latest LLM from Google AI Studio and other google LLMs.
- Seamless file tracking: Automatically stage/untracked files easily.
- Issue key tracking: Integrate with Jira or other project management tools.
- Pull request summaries: Generate clean and professional summaries with one click.
- Customizable settings: Define commit message length, tracked file types, and more.
- A Google AI Studio API key.
- LLM from Google.
[Tested with
gemini-1.5-flash-latest
- A Git repository initialized with a
.git
directory.
The first dropdown lists saved LLMs from the Settings page.
Choose the desired LLM to generate commit messages.
The second dropdown lists saved projects.
When a project is selected, the application:
- Reads the directory contents.
- Updates the UI to display project changes.
The large space below displays the contents of the selected project directory.
Enter the issue key for your task/bug (e.g., from Jira).
The issue key will be appended to the commit message.
Define the maximum number of words for the commit message.
- Default: 10 words.
- Leave blank to use the default value.
Toggle this option to enable/disable automatic staging of untracked files.
Deletes the selected project from the database.
Resets the application's UI to its default state.
Shows the file path of the currently selected project.
Assign a unique name to a new project.
- Default: The repository name (if unchanged).
Opens a file explorer to select a Git repository folder.
- Ensure the folder contains the
.git
directory.
Example:
In this case, the .git
folder must be inside the app
folder.
Specify file extensions to track, separated by commas (e.g., js,ts,json,gitignore
).
- Save the configuration to track these file types for the selected project.
- You can update the list later to modify tracked extensions.
Opens a dialog to:
- Save your API Key from the LLM provider.
- Save new LLM models for the tool.
- Click the New Repository button.
- Select a Git project folder (ensure
.git
exists in the folder). - Enter file extensions to track (comma-separated).
- Click Save to save the project configuration.
- Select an LLM from the Select LLM dropdown.
- Choose a project from the Select Project dropdown.
- (Optional) Add an Issue Key and define the Message Length.
- Click the Process button to:
- Analyze changes in the tracked files.
- Generate meaningful commit messages.
- Stage the changes and commit them to the repository.
- Update the UI with progress details.
- Navigate to the Pull Request page.
- Click Generate to create a formatted summary of the current commits.
- Copy and paste the summary into your pull request.
- Support for additional LLMs from other vendors.
- Advanced commit templates for custom workflows.
- Enhanced pull request templates with metadata extraction.
- Missing API Key: Ensure you have a valid API key from Google AI Studio.
- Invalid Repository: Make sure the selected folder is a valid Git repository.
- Incorrect File Extensions: Use comma-separated values without spaces.
Example:js,ts,css,json
. - For unexpected errors, use the Reset button to restore the default UI.
We welcome contributions! Feel free to open issues or submit pull requests.
This project is licensed under the MIT License.