kalkih / mini-graph-card

Minimalistic graph card for Home Assistant Lovelace UI
MIT License
2.89k stars 233 forks source link

chore: add contributing guidelines to the project #937

Closed akloeckner closed 6 months ago

akloeckner commented 1 year ago

Hey, after @kalkih added me to the project (thanks!) I have been reluctant to merge some of the open PRs, because he pointed out some important guidelines to me.

So, in order to agree on them between the maintainers, I'd like to discuss some rules for maintainers before merging things myself. I'm thinking of something on the lines in this PR. If we agree on these (or at least some) rules, we'll have a better base to accept or reject open PRs.

I believe, it would be good to make such rules public, so potential contributors know what to expect. If you don't want to lay such rules down in the repository itself, your feedback will at least help me in maintaining "the right way".

@ildar170975 @kalkih @jlsjonas

ildar170975 commented 1 year ago

As a non-dev member of this project - I agree with these guidelines. Especially in a part related to "using 3rd party tools to achieve same result, like card-mod". Possible missed something important, please tell me then.

akloeckner commented 1 year ago

Thanks for your feedback, @ildar170975 !

I'll go ahead in the next days and merge some fixes, following my draft guidelines as long as there are no better ones.

kalkih commented 1 year ago

Very late response, sorry... I think these are clear and well formulated, they mesh very well with my own thoughts on the topic. Nice work, 🟢 from me!

jlsjonas commented 1 year ago

Late for me too, my apologies (life has been throwing several curveballs this year 😅 ).

These look like a great start and should hopefully help with the inclarities that currently exist as we're all mainly lacking time, thanks a lot for the efforts!

W.r.t. features I agree that we should rather focus on bugs & be especially careful around introducing new bugs through features That being said, I do believe that there still are several key points that are either inconsistent with home assistant standards (templates, f.e.), or could be improved towards the general HA user base (UI-based config, for example :) ). We should be clear about (still) welcoming such contributions (provided that they are well tested, of course).

To align with industry standards, I would also rename the file to CONTRIBUTING.md and add a welcoming section to potential new contributors. (some inspiration @ https://contributing.md/how-to-build-contributing-md/ ?)

On that note: welcome to the project! I'm looking forward to getting some extra (despite also busy) hands ;)

To improve community collaboration I've taken the opportunity to open a gitter.im (now using Matrix) chatroom at https://matrix.to/#/#mini-graph-card:gitter.im (https://app.gitter.im/#/room/#mini-graph-card:gitter.im using the gitter-styled UI). This can hopefully also serve as a platform for more interactive discussions between contributors about the project.

jlsjonas commented 1 year ago

Thanks for the update! Just a few too many changes ;)

akloeckner commented 1 year ago

No worries, thanks for the feedback! I hope you have dodged everything life has thrown at you so far. ;-)

I took a few minutes and tried to set up CONTRIBUTING.md a bit more consistently. Everyone landing there should not have to read through to the Maintaining section. So, the Contributing section has everything necessary to submit a viable PR, now.

Ideally, according to your insprirational link, we would also mention issues and the HA community forum. But I'm lacking ideas how to add it right now. So, I would keep that for later.

One point before we merge and use the guidelines is: Are we sure to require two approvals by maintainers to merge refactoring and features? That is 2 out of 3 and it will slow us down, while sure enforcing some conservatism and code quality. Maybe we should relax this, if we are committing things ourselves, because we know we will quickly invest time in fixing possibly resulting errors? I'm not sure what will be best...

akloeckner commented 1 year ago

I added a few formulations as per @jlsjonas' reviews.

Main changes:

akloeckner commented 6 months ago

I'd like to merge these guidelines before creating a new release through #1059, so we have them visible on the projects homepage. If you don't object in the next two days, I'll go ahead! 💪

github-actions[bot] commented 6 months ago

:tada: This PR is included in version 0.12.0 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: