Skip to content

feat: support custom prompt/template for AI-generated commit messages #163

@1m188

Description

@1m188

Issue: Feature Request — Custom Commit Message Prompt

Title: feat: support custom prompt/template for AI-generated commit messages


Is your feature request related to a problem? Please describe.

Currently, the AI commit message generation feature uses a fixed internal format with no way
for users to customize the output. Different teams and projects follow different commit
conventions (Conventional Commits, Angular-style, custom formats with ticket numbers, etc.).
Without a configurable prompt, the generated messages often don't match the project's
requirements, and users have to manually rewrite them every time.

Describe the solution you'd like

Add a setting (e.g., codegeex.commitMessage.prompt or codegeex.commitMessage.template) that
allows users to define a custom system prompt or template that controls the format and
content of generated commit messages.

Example configuration:

{                                                                                          
  "codegeex.commitMessage.prompt": "Generate a commit message in Conventional Commits      

format. Use types: feat, fix, docs, refactor, test, chore. Keep the subject line under 72
characters. Include the scope when applicable."
}

Or a template-based approach:

{                                                                                          
  "codegeex.commitMessage.format": "conventional-commits",                                 
  "codegeex.commitMessage.includeScope": true,                                             
  "codegeex.commitMessage.maxSubjectLength": 72                                            
}                                                                                          

Describe alternatives you've considered

• Using git hooks (prepare-commit-msg) — works but requires manual scripting and doesn't
integrate with the AI generation flow.
• Switching to other extensions — none of them combine built-in AI code completion with
customizable commit message generation as well as CodeGeeX does.

Additional context

This would be especially useful for teams that enforce commit message standards via CI (e.g., commitlint), where non-conforming messages cause pipeline failures. The prompt field could
accept variables like {diff} for the staged changes, {branch} for the current branch name,
etc.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions