di-sukharev / di-sukharev/opencommit

[Feature]: More customizable commit message template and support for Perforce VCS

Open
#356 6 comments 0 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

💬 Discuss and agree about design before contribution

I am part of the Murex organization, we have a bit of time this summer, and we would like to contribute to your project. We want to extend it with the following features:

  • More possibilities to customize the commit message itself: to include footers, a "Why" body header, and more details in the body (ex: we want to use it for code katas with TCR, we'd like to ask the AI to give us the list of named baby steps that the trainees used)
  • Support for Perforce because most Murex developers rely on this VCS

To avoid rework, I would like to start a conversation to get your feedback about the proposed features and design before we send pull request.

Suggested Solution
  • Commit customization: We have been thinking of a more advanced template with named sections that could be provided by custom prompts or by command line options
  • Perforce VCS: obviously not all features will be supported. We could create an abstraction for the different VCS and let the tool switch to Perforce with an option, or a configuration. Another way would be to make the tool VCS agnostic, move all git commands out of the tool, and create shell wrappers to give it the diff through stdin, receive the message from stdout, and commit. I'm not sure how this would work with githook or github actions though.
Alternatives

We could start from another tool (ex aicommits)
We could build something from scratch ourselves

Additional Context

We also plan to use the tool on our own internal RAG. I'm not sure what impact will this have yet.

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

No files, tests, or entry points are identified. Start by mapping the existing commit-message generation and Git integration, then clarify the design and scope for customizable templates and Perforce support with maintainers. Done requires an agreed design and bounded implementation plan before contribution.

Written by the indexing model from the issue text.

Assessment

Tech stack
git, javascript
Domain
cli, devtools
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.