-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Improved first time contributor DX #43
Comments
Always decouple if possible. We can consider the following actions:
I think close pull is the strongest signal that they need to redo it because they didn't follow conventional commits but at the same time it seems pretty drastic. Convert to draft means they will need to force push or manually amend the previous commit message which is tedious. Request changes will negatively affect their XP once that is implemented. This might be the best actually, but then they still have to manually amend or force push again which is tedious. |
Close pull is too heavy handed I think as if we use all CI rather than just conventional commits, the PR would be closed for failed tests for example.
We simply cannot prevent this if they open a PR first before being informed. I feel it's unfair to apply negative effects to a contributor if they aren't made aware of it upfront. However, I think that if they are informed upfront via the issue then yeah negative effects all day long as they didn't listen. But I know the problem with that is notifications but we can limit that by having the "accept" action be a simple reaction on the bot comment or the toggling of a tasklist item (I think we can catch them via api). Once accepted the I hadn't considered negative xp, but I think that sounds completely appropriate. Perhaps we allow workflows to be defined which should be omitted from this check via a config item too that's probably a good to have also what should we call this new plugin? |
If its a draft, as per our instructions, we can let it slide. This is relatable for myself: I generally will open a draft and it could be pretty messed up. After checking the pull request diff view, and seeing CI, I'll usually clean things up. I think this is acceptable.
Pretty sure we do, as well as for emoji reactions.
We can always rename |
We've already had this feature of a "first time contributor" welcome message. We could add a new parameter Forcing contributors to accept the terms seems to be an unnecessary step which complicates the UX. |
Enforcing Org Standards for New Contributors
It has become a regular issue that new contributors are not adhering to conventional commit standards. This leads to repetitive interactions with each pull request (PR), where we educate them about our organization-wide standards.
In other large open-source projects, bots automate initial acknowledgements of standards, such as 'accepting terms and conditions' or signing off on specific practices. I propose a similar automated approach to enforce these standards strictly.
High-Level Enforcement via Bot
review_requested
event is triggered, the bot will apply arequested_changes
review and comment: "CI has failed and is required before requesting a review."Accommodations for First-Time Contributors
/start
toclosed_as_complete
. Or use a JSON based storage simply forUsername:HasAcknowledgedTerms
, if the user name is not present we request they accept, if it's present standard/start
flow.closed_as_complete
or this is their first open PR, we should:contributing.md
, but we enforce several unwritten rules such as:yarn
v1.22
Acknowledgement Requirement
Benefits
This plugin or a new one?
A dedicated plugin would be great actually as we could allow for a lot more customization of the terms and standards etc by allowing them to pass in their own custom markdown for tables etc as opposed to restricted to using our pretty
/start
message. Decouples from/start
more but obv still coupled with it slightly. Allows for simpler per-repo customization as you do not have to consider the/start
setup also.This plugin, really coupled together. The config will become big and messy probably and it adds a whole new branch of functionality to this worker.
here is an example
The text was updated successfully, but these errors were encountered: