You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
and to [the Members team](https://github.com/orgs/nodejs/teams/members) if
18
+
they are not already part of it.
17
19
Note that this is the step that gives the account elevated privileges, so
18
20
do not perform this step (or any subsequent steps) unless two-factor
19
21
authentication is enabled on the new Collaborator's GitHub account.
20
22
21
23
22
24
## Onboarding session
23
25
24
-
***thank you** for doing this
25
-
* will cover:
26
+
* This session will cover:
26
27
*[local setup](#local-setup)
27
28
*[project goals & values](#project-goals--values)
28
29
*[managing the issue tracker](#managing-the-issue-tracker)
@@ -32,33 +33,37 @@ onboarding session.
32
33
## Local setup
33
34
34
35
* git:
35
-
* make sure you have whitespace=fix: `git config --global --add apply.whitespace fix`
36
-
* usually PR from your own github fork
36
+
* Make sure you have whitespace=fix: `git config --global --add apply.whitespace fix`
37
+
* Always continue to PR from your own github fork
38
+
* Branches in the nodejs/node repository are only for release lines
37
39
*[See "Updating Node.js from Upstream"](./onboarding-extras.md#updating-nodejs-from-upstream)
38
-
*make new branches for all commits you make!
40
+
*Make a new branch for each PR you submit.
39
41
40
-
*notifications:
41
-
*use[https://github.com/notifications](https://github.com/notifications) or set up email
42
-
*watching the main repo will flood your inbox, so be prepared
42
+
*Notifications:
43
+
*Use[https://github.com/notifications](https://github.com/notifications) or set up email
44
+
*Watching the main repo will flood your inbox (several hundred notifications on typical weekdays), so be prepared
43
45
44
-
*`#node-dev` on [webchat.freenode.net](https://webchat.freenode.net/) is the best place to interact with the CTC / other collaborators
46
+
*`#node-dev` on [webchat.freenode.net](https://webchat.freenode.net/) is the best place to interact with the CTC / other Collaborators
47
+
* If there are any questions after the session, a good place to ask is there!
48
+
* Presence is not mandatory, but please drop a note there if force-pushing to `master`
45
49
46
50
47
51
## Project goals & values
48
52
49
-
*collaborators are effectively part owners
50
-
*the project has the goals of its contributors
53
+
*Collaborators are the collective owners of the project
54
+
*The project has the goals of its contributors
51
55
52
-
* but, there are some higher-level goals and values
53
-
* not everything belongs in core (if it can be done reasonably in userland, let it stay in userland)
54
-
* empathy towards users matters (this is in part why we onboard people)
55
-
* generally: try to be nice to people
56
+
* There are some higher-level goals and values
57
+
* Empathy towards users matters (this is in part why we onboard people)
58
+
* Generally: try to be nice to people!
59
+
* The best outcome is for people who come to our issue tracker to feel like they can come back again.
60
+
61
+
* We have a [Code of Conduct][] that you are expected to follow *and* hold others accountable to
56
62
57
63
## Managing the issue tracker
58
64
59
-
* you have (mostly) free rein – don't hesitate to close an issue if you are confident that it should be closed
60
-
***IMPORTANT**: be nice about closing issues, let people know why, and that issues and PRs can be reopened if necessary
61
-
* Still need to follow the Code of Conduct
65
+
* You have (mostly) free rein; don't hesitate to close an issue if you are confident that it should be closed
66
+
* Be nice about closing issues! Let people know why, and that issues and PRs can be reopened if necessary
* There is [a bot](https://github.com/nodejs-github-bot/github-bot) that applies subsystem labels (for example, `doc`, `test`, `assert`, or `buffer`) so that we know what parts of the code base the pull request modifies. It is not perfect, of course. Feel free to apply relevant labels and remove irrelevant labels from pull requests and issues.
@@ -69,9 +74,11 @@ onboarding session.
69
74
* When adding a semver label, add a comment explaining why you're adding it. Do it right away so you don't forget!
70
75
71
76
*[**See "Who to CC in issues"**](./onboarding-extras.md#who-to-cc-in-issues)
72
-
* will also come more naturally over time
77
+
* This will come more naturally over time
78
+
* For many of the teams listed there, you can ask to be added if you are interested
79
+
* Some are WGs with some process around adding people, others are only there for notifications
73
80
74
-
* When a discussion gets heated, you can request that other collaborators keep an eye on it by opening an issue at the private [nodejs/moderation](https://github.com/nodejs/moderation) repository.
81
+
* When a discussion gets heated, you can request that other Collaborators keep an eye on it by opening an issue at the private [nodejs/moderation](https://github.com/nodejs/moderation) repository.
75
82
* This is a repository to which all members of the `nodejs` GitHub organization (not just Collaborators on Node.js core) have access. Its contents should not be shared externally.
76
83
* You can find the full moderation policy [here](https://github.com/nodejs/TSC/blob/master/Moderation-Policy.md).
77
84
@@ -100,18 +107,24 @@ onboarding session.
100
107
(especially if it just has nits left).
101
108
* Approving a change
102
109
* Collaborators indicate that they have reviewed and approve of the
103
-
the changes in a pull request by commenting with `LGTM`, which stands
104
-
for "looks good to me".
105
-
* You have the power to `LGTM` another collaborator's (including TSC/CTC
106
-
members) work.
107
-
* You may not `LGTM` your own pull requests.
108
-
* You have the power to `LGTM` anyone else's pull requests.
109
-
110
-
* What belongs in node:
111
-
* opinions vary, but I find the following helpful:
112
-
* if node itself needs it (due to historic reasons), then it belongs in node
113
-
* that is to say, url is there because of http, freelist is there because of http, et al
114
-
* also, things that cannot be done outside of core, or only with significant pain (example: async-wrap)
110
+
the changes in a pull request using Github’s approval interface
111
+
* Some people like to comment `LGTM` (“Looks Good To Me”)
112
+
* You have the authority to approve any other collaborator’s work.
113
+
* You cannot approve your own pull requests.
114
+
* When explicitly using `Changes requested`, show empathy – comments will
115
+
usually be addressed even if you don’t use it.
116
+
* If you do, it is nice if you are available later to check whether your
117
+
comments have been addressed
118
+
* If you see that the requested changes have been made, you can clear another collaborator's
119
+
`Changes requested` review.
120
+
* Use `Changes requested` to indicate that you are considering some of
121
+
your comments to block the PR from landing.
122
+
123
+
* What belongs in Node.js:
124
+
* Opinions vary – it’s good to have a broad collaborator base for that reason!
125
+
* If Node.js itself needs it (due to historic reasons), then it belongs in Node.js
126
+
* That is to say, url is there because of http, freelist is there because of http, etc.
127
+
* Things that cannot be done outside of core, or only with significant pain (for example `async_hooks`)
0 commit comments