Skip to content

Commit messages generation #6954

@vldF

Description

@vldF

Validations

  • I believe this is a way to improve. I'll try to join the Continue Discord for questions
  • I'm not able to find an open issue that requests the same enhancement

Problem

There are at least one approach of this feature — #5828. However, this PR was closed based on technical reasons (I guess). This issue is target to discuss automatic commit messages generation one more time.


This feature can solve next problems:

  1. Sometimes, changes aren't simple enough to write clean and expressive text and developers write something like 'fix', 'make it work' and so on. It can be fine in some cases, but it breaks the git history navigation
  2. In some teams there are rules for git commit messages. Some of them are about their syntax (like this on), others are about style
  3. English isn't primary language for many developers, but as far as they work on open source projects, they try their best on it and sometimes other devs can't understand their texts right

LLMs are good enough to generate commit messages based on code changes to solve (1). They can use prompts to follow the rules to achieve (2). Also, most of LLMs are trained on english texts, so, they can solve (3). Consequently, we can use them to generate commit messages

Solution

We need a way to set custom rules/templates/examples. Continue already has rules and prompts. Probably, we can extend the schema of one of them. As far as I can see, prompts are yamls, so, they looks as a pretty good base for this feature. However, this can be not the best option, I just try to save the continue UI as simple as possible. Probably, we need to extent UI by add the new one tab on the Continue panel (like 'Prompts' and 'Rules')

Then, we can add some button to the commit panel of IDE to start the message generation. We can do it in IntelliJ IDEA, probably, we can integrate with some VS Code extensions

Metadata

Metadata

Assignees

Labels

kind:enhancementIndicates a new feature request, imrovement, or extension

Type

No type

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions