di-sukharev / di-sukharev/opencommit

[Feature]: Integrated Options for Editing and Regenerating Commit Messages

Open
#250 4 comments 5 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
7.5k
Forks
445
Avg merge
18m
Merged PRs (30d)
2

Description

Description
  1. Consider adding an integrated option for editing the generated commit message before finalizing.
  2. Alongside 'accept' and 'cancel,' include an integrated feature for easy commit message regeneration.
Suggested Solution

Integrated Editing Option

Add config option to have different style of editing enabled

  • UI Prompt: After a commit message is generated, present a text-based UI within the CLI that allows users to edit the message in place.
  • Temporary File: Alternatively, auto-open a temporary file (e.g., in Vim or another default editor) where the generated commit message can be edited.
  • Confirmation Step: Add a confirmation step after editing, so the user can review the edited message before proceeding with the commit.

Regenerate Commit Message Feature

Regenerate Option in UI: Alongside 'accept' and 'cancel,' include a 'regenerate' option in the CLI prompt. When selected, a new commit message is generated and the options are displayed again.

Alternatives

No response

Additional Context

In my experience, many generated commit messages require further refinement. I frequently find myself either copying messages to edit them manually or using git commit --amend for post-commit adjustments. Additionally, some messages are misaligned with their corresponding changes, necessitating frequent regenerations.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing the CLI flow that displays the generated commit message and the accept/cancel choices, then identify how commit generation is invoked. Define the configuration and interaction design for in-place editing, temporary-file editing, confirmation, and regeneration; done means each selected behavior works before the commit is finalized.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, javascript
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.