totalcross
totalcross copied to clipboard
Contributors don't know the exact contribution guidelines
Describe the bug
A clear and concise description of what a contributor should put as a commit message. Although there's an error message that describes it, even if following its guidelines, it's not enough.
For example #232
To Reproduce
Create a new pull request and follow the vague error guidelines.
Expected behavior
A CONTRIBUTION.md file should be updated with the minimum requirements on how to contribute to TC. Now it's too complicated,
We already have some clear guidelines in my opinion:
https://github.com/TotalCross/totalcross/blob/master/CONTRIBUTING.md#commiting
I see some problems like the wrong commit example and the types of commit require a more macroscopic and complex view (what we could make clearer by giving some options or setting a list of possible types).
In my opinion as an outsider, it is not
- There's no list of "types". What are valid types? Could it be more than one word? Can I have my own?
- The 80 chars are inclusive the type? I thought not, but I was wrong (so, one more commit/force push cycle for me)
- I tried to put a body, without luck
- There are no "minimum requirements". Too much text about why etc, everyone agrees that it's required, no need to explain. Just the facts. This is a full essay that isn't even linked on the commit error message.
I know I am nitpicking, but if I and @VicMisael have issues, I am 100% certain that many many others might have ( remember #170 issues)
That's it! I agree with many of them and here is my suggestion for changes:
- Answer those questions you asked;
- Minimum requirements section;
- Fix commit sample;
- Be explicit about the commit body.
Hello you all, I also think that we need a list of commit types. My suggestion:
-
doc
if the change is related to documentation; -
api
whether the change is related to the Java API; -
lib
if the change is related to the libtcvm.so. In my point of viewvm
is not semantically complete for what we have; -
cicd
if the change is related to CI/CD; -
build
build 😅; -
fix
fixing faults, errors or bugs;
They are simple and relatively broad categories, but you can explain better your changes in body section 😄
Keep it simple
I like these categories, there might be more things missing, but for now let's not bloat it. Start with these and see if we add more and/or deprecate some others.
I'd also suggest the following emojis which will replace the textual with the image:
doc
→ 📝
api
→ ☕
lib
→ ⚙️
cicd
→ 👷
build
→ 🛠️
fix
→ 🐛
If the commit is related to a new feature, for instance, a new TC component, should it go under api ☕?