Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Conversation

@marcobonici
Copy link
Contributor

Hello, I have

  • included a preliminary version of the contributing guidelines
  • fixed a couple of broken link, as found from @itutusaus

Can someone give a look and merge into the main? Maybe @gcanasherrera ?

@marcobonici marcobonici added the documentation Improvements or additions to documentation label Mar 12, 2025
@marcobonici marcobonici self-assigned this Mar 12, 2025
@marcobonici marcobonici requested review from sfarrens and removed request for gcanasherrera March 12, 2025 22:53
@marcobonici
Copy link
Contributor Author

Ehi @sfarrens , would you mind having a look at this?

@sfarrens
Copy link
Member

I will be happy to. 🙂

Copy link
Member

@sfarrens sfarrens left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi @marcobonici, here are my initial comments on the contribution guidelines. Really nice work! 👏 I think just a bit of effort is needed to clean up the wording and make sure the roles/responsibilities are clear.

Comment on lines 3 to 9
This document describes some best practices for collaborating on the cloe-org repositories.
Following these practices makes it easier for contributors (new and old) to understand what is expected of them.
It should be linked to in the README.md. Those are meant to be general guidelines; it is possible that some repositories have additional guidelines.

There are many good practices that this document does not cover.
These include other members of the wider community reviewing pull requests (PRs) they are interested in, and maintainers encouraging and supporting people who open issues to make PRs to solve them.
This document facilitates these other good practices by clarifying what can seem like a mysterious process to those who are unfamiliar with it.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I feel like the wording in general could use some work, but particularly in this section. I am happy to go into detail, but I am pretty sure even a quick pass with e.g. ChatGPT would clear this up.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rephrased, using perplexity.


#### Contributing PRs

* PRs should match the existing code style present in the file.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are there global style guidelines for CLOE?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So,
these are meant to be the general guidelines for the cloe-org. It can (and will) happen that each repository has specific guidelines.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This has been written at the very beginning of the text, so that it's clear.


* PRs should match the existing code style present in the file.
* PRs affecting the public API, including adding new features, must update the public documentation.
* Comments and (possibly internal) docstrings should make the code accessible.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean by this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modified as discussed with Sam.

* PRs affecting the public API, including adding new features, must update the public documentation.
* Comments and (possibly internal) docstrings should make the code accessible.
* PRs that change code must have appropriate tests.
* Changes to the code must be made via PR, not pushing to master.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

'master' -> 'main', also would it not be wise to protect the main branch such that it is not possible to directly push anyway?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, so your suggestion is that PR can be made only to develop and that we (the mantainers) push to main when appropriate. Is this right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ALso, I created a rulest for the main

https://github.com/cloe-org/cloelib/settings/rules/4372746

I cannot enforce it yet as the repo is private and we do not enterprise. Let me knwo whether you think it makes sense or need something else (I just enforced the bare minimum from my side).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not exactly, depending on how many people are contributing to a package and what the release strategy is, it is not unreasonable for PRs to target main. My point is that no one should be 'pushing' to main (or develop), all changes should come from PRs that 'merge' into the appropriate branch. I would propose that you explicitly protect these branch so that no one can push to them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The rule ensures that the only way to commit to main is by PRs. Or am I missing something?

* Comments and (possibly internal) docstrings should make the code accessible.
* PRs that change code must have appropriate tests.
* Changes to the code must be made via PR, not pushing to master.
* Before starting to work on a PR, especially when including or modifying a huge chunk of code, discuss with the mantainers the change you are gonna implement and how.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are the maintainers for each repo listed in the README.md?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So, this is something to discuss with the others (@gcanasherrera @PedroCarrilho @chiaramoretti @AndreaPezzotta ).
For the moment, mantainers are in charge of the whole organization. Something different might happen in the future!


* A release should be made as soon as possible after a bugfix PR is merged.
* Care and consideration should be given as to when to make a breaking release.
* The person who merged the PR should register the new release of the package.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If the person is a repo maintainer, this makes sense. You may want to add a couple of bullet points on what the general strategy for major vs minor releases.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@sfarrens , personally I would add a link to semver. Any suggestion on something different?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added link to semver.

* PRs with large improvements to style should not also change functionality.

* PRs introducing breaking changes should make this clear when opening the PR.
* You should not push commits with commented-out tests.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I would argue that nothing should be pushed with commented out code (tests or whatever). There is no reason for this to be in the released code.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I modified according to the suggestion

* Small review suggestions, such as typo fixes, should make use of the `suggested change` feature.
* This makes it easier and more likely for all the smaller changes to be made.
* Reviewers should continue acting as reviewers until the PR is merged.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just a general and personal points, I would stress that the PR process is intended to be a conversation to converge on a solution that improves the existing code. Developers should not take comments/questions personally and should be prepared to justify the implementation choices they have made. Similarly, reviewers should ask for clarification if a given implementation choice is not obvious/transparent.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done as suggested.

* This makes it easier and more likely for all the smaller changes to be made.
* Reviewers should continue acting as reviewers until the PR is merged.

### Accidental breaking releases
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I guess this info is exclusive to repo maintainers, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You mean, the Accidental breaking release?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Answered as asked by Sam.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, the point is that general developers should not be the ones dealing with this type of issue.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added this information.

colprac/README.md Outdated Show resolved Hide resolved
@marcobonici
Copy link
Contributor Author

Hi @sfarrens , I think I addressed all of the points. There are still a bunch of open points, where I asked for feedback/suggestions.
Happy to go through the second round!

@sfarrens
Copy link
Member

Looks good @marcobonici! I replied to the questions you posed and check the changes you made. I think once these final threads are resolved and a global pass on English is made, this is ready to go!

@gcanasherrera gcanasherrera changed the title Develop Update README with new contribution guidelines Mar 27, 2025
@marcobonici
Copy link
Contributor Author

Hi @sfarrens , I think I did everything.
I addressed your comments and passed chunks of the text to perplexity, that rephrased it with o3-mini.

Let me know whether there is something missing.

@sfarrens
Copy link
Member

@marcobonici 👍 to merge!

@marcobonici marcobonici merged commit d30f806 into main Apr 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

Morty Proxy This is a proxified and sanitized view of the page, visit original site.