2016-08-11 00:51:14 +02:00
|
|
|
|
# Onboarding
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2021-07-14 00:15:59 +02:00
|
|
|
|
This document is an outline of the things we tell new collaborators at their
|
2016-08-11 00:51:14 +02:00
|
|
|
|
onboarding session.
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2016-09-25 23:48:59 +02:00
|
|
|
|
## One week before the onboarding session
|
|
|
|
|
|
2018-02-24 01:29:45 +01:00
|
|
|
|
* If the new Collaborator is not yet a member of the nodejs GitHub organization,
|
2018-03-03 13:32:01 +01:00
|
|
|
|
confirm that they are using [two-factor authentication][]. It will not be
|
|
|
|
|
possible to add them to the organization if they are not using two-factor
|
|
|
|
|
authentication. If they cannot receive SMS messages from GitHub, try
|
|
|
|
|
[using a TOTP mobile app][].
|
2023-09-25 13:48:03 +02:00
|
|
|
|
* Suggest the new Collaborator install [`@node-core/utils`][] and
|
2018-03-03 13:32:01 +01:00
|
|
|
|
[set up the credentials][] for it.
|
2016-09-25 23:48:59 +02:00
|
|
|
|
|
|
|
|
|
## Fifteen minutes before the onboarding session
|
|
|
|
|
|
2016-12-30 01:16:37 +01:00
|
|
|
|
* Prior to the onboarding session, add the new Collaborator to
|
2021-07-14 00:15:59 +02:00
|
|
|
|
[the collaborators team](https://github.com/orgs/nodejs/teams/collaborators).
|
2022-07-31 08:59:27 +02:00
|
|
|
|
* Ask them if they want to join any [subsystem teams](https://github.com/orgs/nodejs/teams/core/teams)
|
|
|
|
|
and add them accordingly. See [Who to CC in the issue tracker][who-to-cc].
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2016-11-15 18:47:58 +01:00
|
|
|
|
## Onboarding session
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-06-02 21:35:45 +02:00
|
|
|
|
* This session will cover:
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* [local setup](#local-setup)
|
2021-07-10 20:57:57 +02:00
|
|
|
|
* [project goals and values](#project-goals-and-values)
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* [managing the issue tracker](#managing-the-issue-tracker)
|
2021-07-16 16:12:00 +02:00
|
|
|
|
* [reviewing pull requests](#reviewing-pull-requests)
|
|
|
|
|
* [landing pull requests](#landing-pull-requests)
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2016-11-15 18:47:58 +01:00
|
|
|
|
## Local setup
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* git:
|
|
|
|
|
* Make sure you have whitespace=fix: `git config --global --add
|
|
|
|
|
apply.whitespace fix`
|
2021-07-16 16:12:00 +02:00
|
|
|
|
* Always create a branch in your own GitHub fork for pull requests
|
2018-02-18 05:06:42 +01:00
|
|
|
|
* Branches in the `nodejs/node` repository are only for release lines
|
2018-05-30 05:15:41 +02:00
|
|
|
|
* Add the canonical nodejs repository as `upstream` remote:
|
2022-05-10 21:20:48 +02:00
|
|
|
|
* `git remote add upstream git@github.com:nodejs/node.git`
|
2018-05-30 05:15:41 +02:00
|
|
|
|
* To update from `upstream`:
|
2022-06-17 00:22:59 +02:00
|
|
|
|
* `git checkout main`
|
2022-05-10 21:20:48 +02:00
|
|
|
|
* `git fetch upstream HEAD`
|
|
|
|
|
* `git reset --hard FETCH_HEAD`
|
2021-07-16 16:12:00 +02:00
|
|
|
|
* Make a new branch for each pull request you submit.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Membership: Consider making your membership in the Node.js GitHub
|
2021-07-14 00:15:59 +02:00
|
|
|
|
organization public. This makes it easier to identify collaborators.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
Instructions on how to do that are available at
|
|
|
|
|
[Publicizing or hiding organization membership][].
|
|
|
|
|
|
|
|
|
|
* Notifications:
|
2021-09-18 02:23:11 +02:00
|
|
|
|
* Use <https://github.com/notifications> or
|
2017-12-17 16:59:46 +01:00
|
|
|
|
set up email
|
2021-07-06 15:12:50 +02:00
|
|
|
|
* Watching the main repository will flood your inbox (several hundred
|
|
|
|
|
notifications on typical weekdays), so be prepared
|
2017-12-17 16:59:46 +01:00
|
|
|
|
|
2021-10-22 17:41:18 +02:00
|
|
|
|
The project has a venue for real-time discussion:
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2022-11-03 04:02:18 +01:00
|
|
|
|
* [`#nodejs-core`](https://openjs-foundation.slack.com/archives/C019Y2T6STH) on
|
2021-10-22 17:41:18 +02:00
|
|
|
|
the [OpenJS Foundation Slack](https://slack-invite.openjsf.org/)
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2021-07-10 20:57:57 +02:00
|
|
|
|
## Project goals and values
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Collaborators are the collective owners of the project
|
|
|
|
|
* The project has the goals of its contributors
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* There are some higher-level goals and values
|
|
|
|
|
* Empathy towards users matters (this is in part why we onboard people)
|
|
|
|
|
* Generally: try to be nice to people!
|
|
|
|
|
* The best outcome is for people who come to our issue tracker to feel like
|
|
|
|
|
they can come back again.
|
2017-06-02 21:35:45 +02:00
|
|
|
|
|
2021-09-18 02:23:11 +02:00
|
|
|
|
* You are expected to follow _and_ hold others accountable to the
|
2018-02-18 05:06:42 +01:00
|
|
|
|
[Code of Conduct][].
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2016-11-15 18:47:58 +01:00
|
|
|
|
## Managing the issue tracker
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* You have (mostly) free rein; don't hesitate to close an issue if you are
|
2021-07-16 16:12:00 +02:00
|
|
|
|
confident that it should be closed.
|
|
|
|
|
* Be nice about closing issues! Let people know why, and that issues and pull
|
|
|
|
|
requests can be reopened if necessary.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
|
2021-07-03 21:54:55 +02:00
|
|
|
|
* See [Labels][].
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* 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.
|
|
|
|
|
* `semver-{minor,major}`:
|
2021-09-18 02:23:11 +02:00
|
|
|
|
* If a change has the remote _chance_ of breaking something, use the
|
2017-12-17 16:59:46 +01:00
|
|
|
|
`semver-major` label
|
2018-02-18 05:06:42 +01:00
|
|
|
|
* When adding a `semver-*` label, add a comment explaining why you're adding
|
|
|
|
|
it. Do it right away so you don't forget!
|
2021-07-16 16:12:00 +02:00
|
|
|
|
* Please add the [`author-ready`][] label for pull requests, if applicable.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
|
2018-03-19 20:45:26 +01:00
|
|
|
|
* See [Who to CC in the issue tracker][who-to-cc].
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* This will come more naturally over time
|
|
|
|
|
* For many of the teams listed there, you can ask to be added if you are
|
|
|
|
|
interested
|
|
|
|
|
* Some are WGs with some process around adding people, others are only there
|
|
|
|
|
for notifications
|
|
|
|
|
|
2021-07-14 00:15:59 +02:00
|
|
|
|
* When a discussion gets heated, you can request that other collaborators keep
|
2017-12-17 16:59:46 +01:00
|
|
|
|
an eye on it by opening an issue at the private
|
|
|
|
|
[nodejs/moderation](https://github.com/nodejs/moderation) repository.
|
|
|
|
|
* This is a repository to which all members of the `nodejs` GitHub
|
2021-07-14 00:15:59 +02:00
|
|
|
|
organization (not just collaborators on Node.js core) have access. Its
|
2017-12-17 16:59:46 +01:00
|
|
|
|
contents should not be shared externally.
|
2022-10-28 14:31:18 +02:00
|
|
|
|
* Node.js has a moderation team which you should contact when unsure
|
|
|
|
|
about taking action in the Node.js org.
|
|
|
|
|
* You can moderate non-collaborator posts yourself. Please
|
|
|
|
|
report the moderation action taken in accordance to the moderation
|
|
|
|
|
policy.
|
|
|
|
|
* You can always refer to the
|
|
|
|
|
[full moderation policy](https://github.com/nodejs/admin/blob/main/Moderation-Policy.md).
|
|
|
|
|
* You can contact someone in the
|
|
|
|
|
[full list of moderation team members](https://github.com/nodejs/moderation#moderation-team-members).
|
2017-01-18 12:30:19 +01:00
|
|
|
|
|
2021-07-16 16:12:00 +02:00
|
|
|
|
## Reviewing pull requests
|
2017-12-18 00:32:28 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* The primary goal is for the codebase to improve.
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Secondary (but not far off) is for the person submitting code to succeed. A
|
2018-03-03 22:55:30 +01:00
|
|
|
|
pull request from a new contributor is an opportunity to grow the community.
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Review a bit at a time. Do not overwhelm new contributors.
|
2018-02-18 05:06:42 +01:00
|
|
|
|
* It is tempting to micro-optimize. Don't succumb to that temptation. We
|
2018-03-03 22:55:30 +01:00
|
|
|
|
change V8 often. Techniques that provide improved performance today may be
|
|
|
|
|
unnecessary in the future.
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Be aware: Your opinion carries a lot of weight!
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Nits (requests for small changes that are not essential) are fine, but try to
|
|
|
|
|
avoid stalling the pull request.
|
2019-06-20 21:25:25 +02:00
|
|
|
|
* Identify them as nits when you comment: `Nit: change foo() to bar().`
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* If they are stalling the pull request, fix them yourself on merge.
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-25 23:27:33 +01:00
|
|
|
|
* Insofar as possible, issues should be identified by tools rather than human
|
|
|
|
|
reviewers. If you are leaving comments about issues that could be identified
|
|
|
|
|
by tools but are not, consider implementing the necessary tooling.
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Minimum wait for comments time
|
|
|
|
|
* There is a minimum waiting time which we try to respect for non-trivial
|
2018-03-03 22:55:30 +01:00
|
|
|
|
changes so that people who may have important input in such a distributed
|
|
|
|
|
project are able to respond.
|
2018-09-25 15:35:33 +02:00
|
|
|
|
* For non-trivial changes, leave the pull request open for at least 48 hours.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* If a pull request is abandoned, check if they'd mind if you took it over
|
2018-03-03 22:55:30 +01:00
|
|
|
|
(especially if it just has nits left).
|
2021-09-18 02:23:11 +02:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Approving a change
|
|
|
|
|
* Collaborators indicate that they have reviewed and approve of the changes in
|
2022-05-17 21:04:51 +02:00
|
|
|
|
a pull request using GitHub's approval interface
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Some people like to comment `LGTM` (“Looks Good To Me”)
|
2022-05-17 21:04:51 +02:00
|
|
|
|
* You have the authority to approve any other collaborator's work.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* You cannot approve your own pull requests.
|
|
|
|
|
* When explicitly using `Changes requested`, show empathy – comments will
|
2022-05-17 21:04:51 +02:00
|
|
|
|
usually be addressed even if you don't use it.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* If you do, it is nice if you are available later to check whether your
|
|
|
|
|
comments have been addressed
|
|
|
|
|
* If you see that the requested changes have been made, you can clear
|
|
|
|
|
another collaborator's `Changes requested` review.
|
|
|
|
|
* Use `Changes requested` to indicate that you are considering some of your
|
2021-07-16 16:12:00 +02:00
|
|
|
|
comments to block the pull request from landing.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
|
|
|
|
|
* What belongs in Node.js:
|
2022-05-17 21:04:51 +02:00
|
|
|
|
* Opinions vary – it's good to have a broad collaborator base for that reason!
|
2018-02-18 05:06:42 +01:00
|
|
|
|
* If Node.js itself needs it (due to historical reasons), then it belongs in
|
|
|
|
|
Node.js.
|
|
|
|
|
* That is to say, `url` is there because of `http`, `freelist` is there
|
|
|
|
|
because of `http`, etc.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Things that cannot be done outside of core, or only with significant pain
|
2018-02-18 05:06:42 +01:00
|
|
|
|
such as `async_hooks`.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
|
|
|
|
|
* Continuous Integration (CI) Testing:
|
2021-09-18 02:23:11 +02:00
|
|
|
|
* <https://ci.nodejs.org/>
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* It is not automatically run. You need to start it manually.
|
|
|
|
|
* Log in on CI is integrated with GitHub. Try to log in now!
|
|
|
|
|
* You will be using `node-test-pull-request` most of the time. Go there now!
|
2020-04-06 05:26:24 +02:00
|
|
|
|
* Consider bookmarking it: <https://ci.nodejs.org/job/node-test-pull-request/>
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* To get to the form to start a job, click on `Build with Parameters`. (If you
|
|
|
|
|
don't see it, that probably means you are not logged in!) Click it now!
|
|
|
|
|
* To start CI testing from this screen, you need to fill in two elements on
|
|
|
|
|
the form:
|
|
|
|
|
* The `CERTIFY_SAFE` box should be checked. By checking it, you are
|
|
|
|
|
indicating that you have reviewed the code you are about to test and you
|
|
|
|
|
are confident that it does not contain any malicious code. (We don't want
|
|
|
|
|
people hijacking our CI hosts to attack other hosts on the internet, for
|
|
|
|
|
example!)
|
|
|
|
|
* The `PR_ID` box should be filled in with the number identifying the pull
|
|
|
|
|
request containing the code you wish to test. For example, if the URL for
|
|
|
|
|
the pull request is `https://github.com/nodejs/node/issues/7006`, then put
|
|
|
|
|
`7006` in the `PR_ID`.
|
2018-05-30 14:37:40 +02:00
|
|
|
|
* The remaining elements on the form are typically unchanged.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* If you need help with something CI-related:
|
2021-07-06 15:12:50 +02:00
|
|
|
|
* Use the [Build WG repository](https://github.com/nodejs/build) to file
|
|
|
|
|
issues for the Build WG members who maintain the CI infrastructure.
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2021-07-16 16:12:00 +02:00
|
|
|
|
## Landing pull requests
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2021-07-14 15:39:59 +02:00
|
|
|
|
See the Collaborator Guide: [Landing pull requests][].
|
2018-03-03 13:32:01 +01:00
|
|
|
|
|
2021-07-16 16:12:00 +02:00
|
|
|
|
Commits in one pull request that belong to one logical change should
|
2018-03-03 13:32:01 +01:00
|
|
|
|
be squashed. It is rarely the case in onboarding exercises, so this
|
|
|
|
|
needs to be pointed out separately during the onboarding.
|
|
|
|
|
|
|
|
|
|
<!-- TODO(joyeechueng): provide examples about "one logical change" -->
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2021-07-16 16:12:00 +02:00
|
|
|
|
## Exercise: Make a pull request adding yourself to the README
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Example:
|
2022-05-10 21:20:48 +02:00
|
|
|
|
<https://github.com/nodejs/node/commit/6669b3857f0f43ee0296eb7ac45086cd907b9e94>
|
2021-01-27 12:18:28 +01:00
|
|
|
|
* For raw commit message:
|
2022-05-10 21:20:48 +02:00
|
|
|
|
`git show --format=%B 6669b3857f0f43ee0296eb7ac45086cd907b9e94`
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Collaborators are in alphabetical order by GitHub username.
|
|
|
|
|
* Optionally, include your personal pronouns.
|
2021-01-27 12:18:28 +01:00
|
|
|
|
* Add the `Fixes: <collaborator-nomination-issue-url>` to the commit message
|
|
|
|
|
so that when the commit lands, the nomination issue url will be
|
|
|
|
|
automatically closed.
|
2018-10-07 00:36:08 +02:00
|
|
|
|
* Label your pull request with the `doc`, `notable-change`, and `fast-track`
|
2021-07-16 16:12:36 +02:00
|
|
|
|
labels. The `fast-track` label should cause the Node.js GitHub bot to post a
|
|
|
|
|
comment in the pull request asking collaborators to approve the pull request
|
|
|
|
|
by leaving a 👍 reaction on the comment.
|
2021-10-22 19:26:39 +02:00
|
|
|
|
* Optional: Run CI on the pull request. Use the `node-test-pull-request` CI
|
|
|
|
|
task. As a convenience, you may apply the `request-ci` label to the pull
|
|
|
|
|
request to have a GitHub Actions workflow start the Jenkins CI task for you.
|
2018-10-07 00:36:08 +02:00
|
|
|
|
* After two Collaborator approvals for the change and two Collaborator approvals
|
2021-07-16 16:12:36 +02:00
|
|
|
|
for fast-tracking, land the PR.
|
2020-07-21 04:44:45 +02:00
|
|
|
|
* If there are not enough approvals within a reasonable time, consider the
|
2021-07-16 16:12:00 +02:00
|
|
|
|
single approval of the onboarding TSC member sufficient, and land the pull
|
|
|
|
|
request.
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Be sure to add the `PR-URL: <full-pr-url>` and appropriate `Reviewed-By:`
|
2018-01-20 14:38:24 +01:00
|
|
|
|
metadata.
|
2023-09-25 13:48:03 +02:00
|
|
|
|
* [`@node-core/utils`][] automates the generation of metadata and the landing
|
2018-01-20 14:38:24 +01:00
|
|
|
|
process. See the documentation of [`git-node`][].
|
2018-03-03 13:32:01 +01:00
|
|
|
|
* [`core-validate-commit`][] automates the validation of commit messages.
|
|
|
|
|
This will be run during `git node land --final` of the [`git-node`][]
|
|
|
|
|
command.
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2016-11-15 18:47:58 +01:00
|
|
|
|
## Final notes
|
2015-11-09 23:52:43 +01:00
|
|
|
|
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Don't worry about making mistakes: everybody makes them, there's a lot to
|
|
|
|
|
internalize and that takes time (and we recognize that!)
|
|
|
|
|
* Almost any mistake you could make can be fixed or reverted.
|
2021-07-14 00:15:59 +02:00
|
|
|
|
* The existing collaborators trust you and are grateful for your help!
|
2017-12-17 16:59:46 +01:00
|
|
|
|
* Other repositories:
|
2021-09-18 02:23:11 +02:00
|
|
|
|
* <https://github.com/nodejs/TSC>
|
|
|
|
|
* <https://github.com/nodejs/build>
|
|
|
|
|
* <https://github.com/nodejs/nodejs.org>
|
2022-08-03 23:54:36 +02:00
|
|
|
|
* <https://github.com/nodejs/Release>
|
2021-09-18 02:23:11 +02:00
|
|
|
|
* <https://github.com/nodejs/citgm>
|
2020-02-10 15:15:54 +01:00
|
|
|
|
* The OpenJS Foundation hosts regular summits for active contributors to the
|
2018-02-18 05:06:42 +01:00
|
|
|
|
Node.js project, where we have face-to-face discussions about our work on the
|
|
|
|
|
project. The Foundation has travel funds to cover participants' expenses
|
|
|
|
|
including accommodations, transportation, visa fees, etc. if needed. Check out
|
2017-12-17 16:59:46 +01:00
|
|
|
|
the [summit](https://github.com/nodejs/summit) repository for details.
|
2021-10-18 23:18:29 +02:00
|
|
|
|
* If you are interested in helping to fix coverity reports consider requesting
|
|
|
|
|
access to the projects coverity project as outlined in [static-analysis][].
|
2017-06-02 21:35:45 +02:00
|
|
|
|
|
2021-02-23 20:59:24 +01:00
|
|
|
|
[Code of Conduct]: https://github.com/nodejs/admin/blob/HEAD/CODE_OF_CONDUCT.md
|
2022-01-05 19:26:30 +01:00
|
|
|
|
[Labels]: doc/contributing/collaborator-guide.md#labels
|
|
|
|
|
[Landing pull requests]: doc/contributing/collaborator-guide.md#landing-pull-requests
|
2020-09-17 18:53:37 +02:00
|
|
|
|
[Publicizing or hiding organization membership]: https://help.github.com/articles/publicizing-or-hiding-organization-membership/
|
2023-09-25 13:48:03 +02:00
|
|
|
|
[`@node-core/utils`]: https://github.com/nodejs/node-core-utils
|
2022-01-05 19:26:30 +01:00
|
|
|
|
[`author-ready`]: doc/contributing/collaborator-guide.md#author-ready-pull-requests
|
2018-11-13 06:01:37 +01:00
|
|
|
|
[`core-validate-commit`]: https://github.com/nodejs/core-validate-commit
|
2021-02-23 20:59:24 +01:00
|
|
|
|
[`git-node`]: https://github.com/nodejs/node-core-utils/blob/HEAD/docs/git-node.md
|
2021-10-21 04:01:13 +02:00
|
|
|
|
[set up the credentials]: https://github.com/nodejs/node-core-utils#setting-up-github-credentials
|
2022-01-05 19:26:30 +01:00
|
|
|
|
[static-analysis]: doc/contributing/static-analysis.md
|
2018-03-03 13:32:01 +01:00
|
|
|
|
[two-factor authentication]: https://help.github.com/articles/securing-your-account-with-two-factor-authentication-2fa/
|
|
|
|
|
[using a TOTP mobile app]: https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/
|
2022-01-05 19:26:30 +01:00
|
|
|
|
[who-to-cc]: doc/contributing/collaborator-guide.md#who-to-cc-in-the-issue-tracker
|