From 59332562bbf389335d29d31f5af5fc42db9dc0c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20=C5=BD=C3=A1dn=C3=ADk?= Date: Mon, 7 Nov 2022 22:57:29 +0100 Subject: [PATCH] Update contributing guide and PR template (#7008) * Update contributing guide * Refactor pull request template * Reword PR template a bit * Update CONTRIBUTING.md Co-authored-by: Reilly Wood <26268125+rgwood@users.noreply.github.com> * Reformulate * Make "Before Submitting" a top-level header * Add review requirement to After Submitting * Reformulate * Update .github/pull_request_template.md Co-authored-by: Dan Davison * Reformulate contributing guide Co-authored-by: Reilly Wood <26268125+rgwood@users.noreply.github.com> Co-authored-by: Dan Davison --- .github/pull_request_template.md | 15 +++++++++------ CONTRIBUTING.md | 19 +++++++++++++++++-- 2 files changed, 26 insertions(+), 8 deletions(-) diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md index 633424dda..d70a3c538 100644 --- a/.github/pull_request_template.md +++ b/.github/pull_request_template.md @@ -1,6 +1,12 @@ # Description -(Description of your pull request goes here. **Provide examples and/or screenshots** unless the change is trivial) +(Description of your pull request goes here. **Provide examples and/or screenshots** if your changes affect the user experience.) + +# Major Changes + +If you're considering making any major change to nushell, before starting work on it, seek feedback from regular contributors and get approval for the idea from the core team either on [Discord](https://discordapp.com/invite/NtAbbGn) or [GitHub issue](https://github.com/nushell/nushell/issues/new/choose). +Making sure we're all on board with the change saves everybody's time. +Thanks! # Tests + Formatting @@ -15,9 +21,6 @@ Make sure you've run and fixed any issues with these commands: - `cargo clippy --workspace --features=extra -- -D warnings -D clippy::unwrap_used -A clippy::needless_collect` to check that you're using the standard code style - `cargo test --workspace --features=extra` to check that all tests pass -# User-Facing Changes +# After Submitting -If you're making changes that will affect the user experience of Nushell (ex: adding/removing a command, changing an input/output type, adding a new flag): - -- Get another regular contributor to review the PR before merging -- Make sure that there is an entry in the documentation (https://github.com/nushell/nushell.github.io) for the feature, and update it if necessary +* Help us keep the docs up to date: If your PR affects the user experience of Nushell (adding/removing a command, changing an input/output type, etc.), make sure the changes are reflected in the documentation (https://github.com/nushell/nushell.github.io) after the PR is merged. diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index ea3c4470c..18427a6a2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,8 +1,23 @@ # Contributing -Welcome to Nushell! +Welcome to Nushell and thank you for considering contributing! -To get live support from the community see our [Discord](https://discordapp.com/invite/NtAbbGn), [Twitter](https://twitter.com/nu_shell) or file an issue or feature request here on [GitHub](https://github.com/nushell/nushell/issues/new/choose)! +## Review Process + +First of all, before diving into the code, if you want to create a new feature, change something significantly, and especially if the change is user-facing, it is a good practice to first get an approval from the core team before starting to work on it. +This saves both your and our time if we realize the change needs to go another direction before spending time on it. +So, please, reach out and tell us what you want to do. +This will significantly increase the chance of your PR being accepted. + +The review process can be summarized as follows: +1. You want to make some change to Nushell that is more involved than simple bug-fixing. +2. Go to [Discord](https://discordapp.com/invite/NtAbbGn) or a [GitHub issue](https://github.com/nushell/nushell/issues/new/choose) and chat with some core team members and/or other contributors about it. +3. After getting a green light from the core team, implement the feature, open a pull request (PR) and write a concise but comprehensive description of the change. +4. If your PR includes any use-facing features (such as adding a flag to a command), clearly list them in the PR description. +5. Then, core team members and other regular contributors will review the PR and suggest changes. +6. When we all agree, the PR will be merged. +7. If your PR includes any user-facing features, make sure the changes are also reflected in [the documentation](https://github.com/nushell/nushell.github.io) after the PR is merged. +8. Congratulate yourself, you just improved Nushell! :-) ## Developing