Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>SCM Commit Message GeneratorNew to Visual Studio Code? Get it now.
SCM Commit Message Generator

SCM Commit Message Generator

SCM Commit Message Generator

| (0) | Free
Generate Git commit messages from personal and project rules using your local agy CLI or claude CLI.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SCM Commit Message Generator

Generate Git commit messages directly from the VS Code Source Control view following your personal conventions and repository rules. The extension runs your installed Antigravity CLI (agy) or Claude Code CLI (claude) in headless mode, reusing your existing CLI login with no separate API key required.

Prerequisites

Install and sign in to at least one supported CLI on your machine:

  • Antigravity CLI (agy): Run agy once in your terminal to complete sign-in.
  • Claude Code CLI (claude): Run claude once in your terminal to complete sign-in.

Quick Start

  1. Open the Source Control panel (Ctrl+Shift+G / Cmd+Shift+G).
  2. (Optional) Type a ticket ID (such as PROJ-123) or a short note in the commit input box before clicking generate; the extension keeps your hint in the generated message.
  3. Click the wand icon (Generate Commit Message) on the Changes toolbar. While running, the button turns into a stop icon so you can cancel at any time.

Key Capabilities

  • Submodule-aware rule discovery. Walks from the clicked Git repository upward to the workspace root to load .commitrules, .agents/skills/commit-message/SKILL.md, or CLAUDE.md.
  • Smart Git diff collection. Uses staged changes when present (falling back to working-tree changes and new untracked files when nothing is staged) and excludes noisy lockfile bodies (package-lock.json, pnpm-lock.yaml, yarn.lock, *.lock, go.sum).
  • Fast isolated CLI execution. Runs agy (gemini-3.8-flash-low by default) or claude (haiku by default) inside os.tmpdir() with --effort low so workspace MCP servers do not slow down commit generation.
  • Clean output. Strips accidental Markdown code fences and removes Co-Authored-By: or AI-attribution lines automatically.

Example .commitrules File

Create a .commitrules file at your repository or workspace root:

Format: type(scope): short imperative description (TASK_ID)

- Allowed types: feat, fix, refactor, test, docs, chore.
- Keep the header line under 72 characters.
- Omit (TASK_ID) if neither the branch name nor the user hint contains a ticket ID.
- Add a 1-2 sentence body explaining WHY the change was made, not what lines changed.

Extension Settings

Open Settings (Ctrl+, / Cmd+,) and search for scmCommitGen:

Setting Default Description
scmCommitGen.provider "agy" CLI provider ("agy" or "claude").
scmCommitGen.agyModel "gemini-3.8-flash-low" Model used when provider is "agy". Set "default" to use your CLI default.
scmCommitGen.claudeModel "haiku" Model used when provider is "claude" ("haiku", "sonnet", "opus", or "default").
scmCommitGen.personalRules "" Inline personal commit rules applied across all projects.
scmCommitGen.personalRulesFile "" Path to a Markdown file with personal commit rules (supports ~/...).
scmCommitGen.projectRuleFiles [".commitrules", ".agents/skills/commit-message/SKILL.md", "CLAUDE.md"] Relative rule file paths searched from the repo root up to the workspace root.
scmCommitGen.maxDiffChars 15000 Maximum git diff characters sent in the prompt.
scmCommitGen.timeoutSeconds 60 Timeout in seconds per CLI call.
scmCommitGen.executablePath "" Custom path to the agy or claude binary if installed in a non-standard directory.

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft