Commit Writer is a Visual Studio Code extension designed to simplify your commit process by automatically generating concise, accurate, and context-aware git commit messages. Powered by AI, it analyzes your code changes and generates commit messages that adhere to best practices.
Features
Automatically generates commit messages based on git diff.
Adheres to the conventional commit format:
<type>: <description>.
Accessible via the status bar button or the VS Code command palette.
Ensures commit messages are concise, clear, and context-aware.
Reduces the time spent on crafting commit messages.
Smart Git Detection
Commit Writer intelligently adapts to your workspace:
Git-Initialized Projects
Status bar button automatically appears, providing quick access to commit message generation.
Full feature set is available.
Non-Git Projects
Status bar button remains hidden.
Features remain accessible via the command palette.
If Git is not initialized, by clicking the Commit Writer: Generate Message command displays a No changes detected message.
How It Works
Make changes to your project.
Stage your changes using:
git add .
Access Commit Writer:
Click the Generate Commit button in the bottom-left corner of VS Code.
Or, open the command palette (Ctrl+Shift+P or Cmd+Shift+P on Mac) and select Commit Writer: Generate Message.
Commit Writer will analyze your changes and generate a commit message automatically.
Review the generated message and proceed with the commit.
Usage Example
Here is an example workflow using Commit Writer:
Edit a file in your project.
Stage the changes using git add ..
Click the Generate Commit button in the VS Code status bar or run Commit Writer: Generate Message from the command palette.
The extension analyzes the changes and generates a commit message in the conventional commit format.
The commit message is applied automatically.
Screenshots
Status Bar Access
Command Palette Access
Feedback
any feedback will be appreciated! If you encounter any issues or have suggestions for improvement, please feel free to open an issue or contact me.