A Visual Studio Code extension that automatically generates meaningful commit messages using rule-based logic and executes commit and push operations with a single command.
164 total installs with steady growth over the last 90 days
- 🚀 One-Command Workflow - Commit and push your changes with a single command
- 🤖 Smart Commit Messages - Automatically generates conventional commit messages based on your changes
- 📝 Editable Messages - Review and edit the generated message before committing
- ⚡ Fast & Predictable - Rule-based logic with instant message generation
- 🔒 Offline Operation - Works entirely offline using local git commands
- 📦 Zero Dependencies - No external services or runtime dependencies
- Install the extension from the VS Code Marketplace (Smart Commit & Push)
- Open any git repository in VS Code
- Make changes to your files
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Run "Smart Commit & Push"
- Review the generated commit message
- Press Enter to commit and push!
The extension analyzes your changes and generates commit messages following the Conventional Commits specification:
<type>(<scope>): <description>
| Type | When Used |
|---|---|
feat |
New features or functionality |
fix |
Bug fixes or issue resolutions |
docs |
Documentation changes |
test |
Test file changes |
refactor |
Code restructuring |
chore |
Configuration or tooling changes |
The extension automatically infers the scope from your file paths:
auth/→authapi/→apiui/,components/→uicore/,models/→coreutils/→utilstest/,tests/→test
| Your Changes | Generated Message |
|---|---|
Edit README.md |
docs(core): improve README documentation |
Add src/auth/login.ts |
feat(auth): add login |
Fix bug in api/users.ts |
fix(api): resolve issue in users |
Update package.json |
chore(config): configure package |
| Multiple auth files | feat(auth): implement auth features |
| Multiple TypeScript files | feat(core): implement TypeScript features |
- Visual Studio Code 1.75.0 or higher
- Git installed and available in PATH
- A git repository initialized in your workspace
- Open VS Code
- Go to Extensions view (
Ctrl+Shift+X) - Search for "Smart Commit & Push"
- Click Install
- Download the
.vsixfile - Open VS Code
- Go to Extensions view (
Ctrl+Shift+X) - Click the
...menu → "Install from VSIX..." - Select the downloaded file
This extension works out of the box with no configuration required.
git clone https://github.com/oxel18/Autocommit.git
cd Autocommit
npm install
npm run compile- Press
F5to launch Extension Development Host - Open a git repository in the new window
- Make changes and run "Smart Commit & Push"
npm run compile
vsce packageThe extension is built with clean separation of concerns:
extension.ts- Command registration and orchestrationgitService.ts- Git operations (status, diff, commit, push)ruleEngine.ts- Rule-based commit message generationui.ts- VS Code UI interactions
The extension provides human-readable error messages for common scenarios:
- No git repository: "Current workspace is not a git repository. Run 'git init' to initialize."
- No changes: "No changes to commit. Make some changes first."
- No upstream branch: "Git push failed: No upstream branch configured. Run 'git push --set-upstream origin <branch>' first."
- Authentication required: "Git push failed: Authentication required. Please configure your git credentials."
- Network error: "Git push failed: Network error. Check your internet connection."
The extension generates professional, specific commit messages:
✅ Good Examples:
feat(auth): implement password validationfix(api): resolve empty request handlingdocs(core): improve README documentationchore(config): configure tsconfig paths
❌ Avoids Generic Messages:
feat(core): update changeschore(core): modify files
MIT License - see LICENSE file for details.
