From 1aabf913126f66e2c6a4aaaa46dc0671125a132b Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Wed, 29 Nov 2023 16:15:21 +0100 Subject: [PATCH 1/5] docs: formalized v1 maintenance docs --- docs/Maintenance.mdx | 29 +++ docs/maintenance/Contributor_Tiers.mdx | 177 ++++++++++++++++++ docs/maintenance/Governance.mdx | 4 + docs/maintenance/Issues.mdx | 17 +- docs/maintenance/Pull_Requests.mdx | 11 ++ .../{Major_Release_Steps.mdx => Releases.mdx} | 35 +++- docs/maintenance/Team.mdx | 45 +++++ .../Dependency_Version_Upgrades.mdx | 6 +- docs/users/Dependency_Versions.mdx | 2 +- docs/users/Releases.mdx | 4 +- packages/website/sidebars/sidebar.base.js | 22 ++- .../website/src/components/team/TeamBio.tsx | 19 ++ .../src/components/team/TeamBioList.tsx | 21 +++ 13 files changed, 370 insertions(+), 22 deletions(-) create mode 100644 docs/maintenance/Contributor_Tiers.mdx create mode 100644 docs/maintenance/Governance.mdx rename docs/maintenance/{Major_Release_Steps.mdx => Releases.mdx} (65%) create mode 100644 docs/maintenance/Team.mdx rename docs/maintenance/{ => pull-requests}/Dependency_Version_Upgrades.mdx (96%) create mode 100644 packages/website/src/components/team/TeamBio.tsx create mode 100644 packages/website/src/components/team/TeamBioList.tsx diff --git a/docs/Maintenance.mdx b/docs/Maintenance.mdx index bc0db0d1e19a..61ce33241959 100644 --- a/docs/Maintenance.mdx +++ b/docs/Maintenance.mdx @@ -12,3 +12,32 @@ We keep it in the open for visibility into our processes. If you're reading this as a new maintainer: welcome! We're happy to have you! ❤️‍🔥 ::: + +## Governance + +We follow a loose governance model that covers roles on the maintenance team and their associated responsibilities. +We see a few major benefits from doing so: + +- We want it to be clear how & why we do the things we do _(especially around compensation and expectations around roles)_ +- We want community input to make sure we're doing things the right way & focusing on truly useful improvements +- As we add to the processes over time, it'll be easier to make those changes clear & reviewable by everyone + +The following pages are a rough "v1.x" of our governance. +We do our best to roughly adhere to this model - though at times we may shortcut tasks if there is no downside in doing so. + +### Changes to Governance + +Any changes to this document will be posted for open discussion on the [typescript-eslint GitHub Discussions](https://github.com/typescript-eslint/typescript-eslint/discussions) and kept open for at least one month. +The discussion will be shared at the beginning, middle, and end of that month on Discord and all our social media accounts. + +## Providing Feedback + +We're always receptive to suggestions on how to improve our processes! +For general feedback, we'd suggest posting in the [`#TODO` channel on Discord](https://discord.gg/TODO). +We can help you turn that into a GitHub discussion. + +:::note +Please be kind: open source governance is an unsolved challenge. +We might not know what impractical or non-ideal things we're doing. +If there's anything sensitive you don't feel comfortable talking about in public, you can always DM or email one of the maintainers privately. +::: diff --git a/docs/maintenance/Contributor_Tiers.mdx b/docs/maintenance/Contributor_Tiers.mdx new file mode 100644 index 000000000000..3880de32ebf0 --- /dev/null +++ b/docs/maintenance/Contributor_Tiers.mdx @@ -0,0 +1,177 @@ +--- +id: contributor-tiers +title: Contributor Tiers +--- + +These tiers of contributors, committers, and maintainers roughly reflect how we've worked the past several years. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
TierEntry RequirementsMonthly ExpectationsMonthly Reimbursement
Contributor1 point + (none) + + (none) +
Code Contributor1 point in pull requests + (none) + + (none) +
Committer + ~5 points in issues +
+ ~5 points in pull requests +
+ ~15 points total +
2 of 4 consecutive active months +
~10 points~1 share / active month
Maintainer + ~10 points in issues +
+ ~10 points in pull requests +
+ ~30 points total +
3 of 6 active months +
~20 points~2 shares / active month
+ +:::note +We treat everything here as approximate numbers. +We're a small enough team to informally discuss changes ad hoc and allow off-by-one-or-two months. +::: + +## Pointing + +Although it's impossible to accurately estimate software projects, we want to roughly establish expectations of effort+time spent on the tiers. +These are all rough estimations and should be taken as approximate starting guides to consider. + +We treat both the creation and review of issues and PRs along the rough scale of: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
SizeDescriptionPointsExamples
TrivialSmall typos or single-file bugfixes1 + + #6976 + + , #6992 +
Straightforward2-3 files at most, with minimal logical changes2 + + #6780 + + , #6910 +
LargeMulti-file logical changes that require real review+thought3 + + #6107 + + , #6907 +
UnusualDozen+ file logical changes that require deep investigation≥5* + + #6084 + + , #6777 +
+ +> \*Unusually large efforts may be >5 points at maintainer discretion depending on time spent. + +Any other activities (e.g. responding to Discord threads, working on upstream dependencies, …) should be treated as gaining points equal to their nearest equivalent point task in terms of complexity and effort. + +## Advancement + +Each tier corresponds to a role on Discord. +When you first hit a tier, you can post in the [`#contributing` channel on Discord](https://discord.gg/TODO). + +We will confirm privately that you've hit the intent of the contribution tiers. +We'll then grant you the role on Discord and profusely thank you for everything you've done. ❤️ + +### Recognition + +Depending on the tier you reach, you can also provide information for the [Team page](./Team.mdx): + +- Contributor and Code Contributor: Preferred photo, name, social media handles +- Committer and Maintainer: ~2 paragraph bio of yourself + +See existing bios for examples of what to put. + +:::note +You can decline to opt into the Discord role or site recognition, and you can always opt out after the fact. +Nothing is mandatory. +We just like including recognition as thanks to the community for working with us. 💕 +::: + +## Reimbursement + +Team members will be reimbursed the minimum of their activity level and their tier. +Each month: + +- Committers and maintainers who hit their expectation receive their full shares +- Committers and maintainers who hit roughly half their expectation receive half shares + +Reimbursements are generally handled through [our Open Collective page](https://opencollective.com/typescript-eslint). + +### Community Reimbursements + +Contributors who contribute nontrivial changes in a month (roughly ≥5 points and at least one _Large_ item) may be privately nominated at any time by a committer or maintainer to be reimbursed at the equivalent shares. + +Our intention is to always do this for contributors who submit _Large_ or greater contributions and don't need significant assistance in getting them merged. diff --git a/docs/maintenance/Governance.mdx b/docs/maintenance/Governance.mdx new file mode 100644 index 000000000000..2b37f5b29a00 --- /dev/null +++ b/docs/maintenance/Governance.mdx @@ -0,0 +1,4 @@ +--- +id: governance +title: Governance +--- diff --git a/docs/maintenance/Issues.mdx b/docs/maintenance/Issues.mdx index fbe1a45157fb..68f20e899da7 100644 --- a/docs/maintenance/Issues.mdx +++ b/docs/maintenance/Issues.mdx @@ -13,6 +13,17 @@ It's imperative we give them a positive, uplifting experience. If you're ever unsure on any part of issue management, don't hesitate to loop in a maintainer that has more context to help! ::: +## Governance + +Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing): + +- Straightforward: at reviewer discretion, may be marked as approved by any committer or maintainer. + This includes docs enhancements, bug fixes, and feature additions. +- Non-straightforward: may be marked as approved with either two committer approvals or one maintainer approval. + These include significant internal refactors and non-breaking public API changes. +- "Unusual"-categorized: require a public discussion followed by two maintainer approvals. + These include significant refactors with cross-project and public API ramifications. + ## Issue Flow :::note @@ -135,6 +146,6 @@ Every so often, we like to [search for open issues `awaiting response`](https:// Our flow for issues that have been waiting for >=1 month is: 1. Ping the author with a message like the _Checking In_ template -2. Add the `stale` label to the issue -3. Wait 2 weeks -4. If they still haven't responded, close the issue with a message like the _Pruning Stale Issue_ template +1. Add the `stale` label to the issue +1. Wait 2 weeks +1. If they still haven't responded, close the issue with a message like the _Pruning Stale Issue_ template diff --git a/docs/maintenance/Pull_Requests.mdx b/docs/maintenance/Pull_Requests.mdx index 02f00ac952d0..55d9c1ff3d5e 100644 --- a/docs/maintenance/Pull_Requests.mdx +++ b/docs/maintenance/Pull_Requests.mdx @@ -13,6 +13,17 @@ It's imperative we give them a positive, uplifting experience. If you're ever unsure on any part of PR reviews, don't hesitate to loop in a maintainer that has more context to help! ::: +## Governance + +Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing): + +- Straightforward: Aat reviewer discretion, may be merged with a single approval by any committer or maintainer. + This includes docs enhancements, bug fixes, and feature additions. +- Non-straightforward: may be merged with either two committer approvals or one maintainer approval. + These include multi-package internal refactors and non-breaking public API changes. +- "Unusual"-categorized: require two maintainer approvals. + These include significant refactors with cross-project and public API ramifications. + ## PR Flow :::note diff --git a/docs/maintenance/Major_Release_Steps.mdx b/docs/maintenance/Releases.mdx similarity index 65% rename from docs/maintenance/Major_Release_Steps.mdx rename to docs/maintenance/Releases.mdx index 42993b4480b2..93d9a1cf9c0f 100644 --- a/docs/maintenance/Major_Release_Steps.mdx +++ b/docs/maintenance/Releases.mdx @@ -1,9 +1,18 @@ --- -id: major-release-steps -title: Major Release Steps +id: releases +title: Releases --- -## 1. Pre-Release Preparation +[Users > Releases](../users/Releases.mdx) describes how our automatic releases are done. +There is generally no maintenance activity we need to take for the weekly releases. + +However, there are two kinds of releases we infrequently go through that each require manual effort. + +## Major Releases + +Per [Users > Releases > Major Releases](../users/Releases.mdx#major-releases), we infrequently release major versions with accumulated breaking changes. + +### 1. Pre-Release Preparation 1. Create a milestone by the name of the release [example: [Milestone 6.0.0](https://github.com/typescript-eslint/typescript-eslint/milestone/8)]. 1. If an issue for changes to recommended rule configs doesn't yet exist, create one [example: [Changes to the `recommended` sets for 5.0.0](https://github.com/typescript-eslint/typescript-eslint/issues/5900)]. @@ -18,7 +27,7 @@ title: Major Release Steps - Its publish command should be `npx lerna publish premajor --loglevel=verbose --canary --exact --force-publish --yes --dist-tag rc-v${major}`. - Merge this into `main` once reviewed and rebase the `v${major}` branch. -## 2. Merging Breaking Changes +### 2. Merging Breaking Changes 1. Send a PR from `v${major}` to `main` [example: [v6.0.0](https://github.com/typescript-eslint/typescript-eslint/pull/5886)]. 1. Change all [breaking change PRs](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aissue+is%3Aopen+label%3A%22breaking+change%22) to target the `v${major}` branch. @@ -34,11 +43,21 @@ _Non_-breaking changes can be merged to `main` or the major branch. They don't need any special treatment. ::: -## 3. Releasing the Version +### 3. Releasing the Version -1. Discuss with the maintainers to be ready for an [out-of-band](#out-of-band) release. Doing this manually helps ensure someone is on-hand to action any issues that might arise from the major release. +1. Discuss with the maintainers to be ready for an [out-of-band](#out-of-band-releases) release. Doing this manually helps ensure someone is on-hand to action any issues that might arise from the major release. 1. Prepare the release notes. Lerna will automatically generate the release notes on GitHub, however this will be disorganized and unhelpful for users. We need to reorganize the release notes so that breaking changes are placed at the top to make them most visible. If any migrations are required, we must list the steps to make it easy for users. + - Example release notes: [`v5.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0), [`v4.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0), [`v3.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0) +1. Finally, tweet the release on the `@tseslint` twitter with a link to the GitHub release. Make sure you include additional information about the highlights of the release! -- Example release notes: [`v5.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v5.0.0), [`v4.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v4.0.0), [`v3.0.0`](https://github.com/typescript-eslint/typescript-eslint/releases/tag/v3.0.0) +## Out-of-Band Releases -1. Finally, tweet the release on the `@tseslint` twitter with a link to the GitHub release. Make sure you include additional information about the highlights of the release! +Per [Users > Releases > Out-of-Band Releases](../users/Releases.mdx#out-of-band-releases), we may manually trigger a new release for a rare emergency such as a critical regression. +If that happens: + +1. Mention in any relevant issue(s) that you intend to release an out-of-band release +1. Post in a private maintenance Discord channel that you're working on it +1. Send a pull request resolving the issue(s) +1. Waiting up to a day (as reasonable) for approval before merging the PR +1. Trigger the [TODO](https://github.com/TODO) workflow to cause a new release +1. Post back in those same issue(s) with a link to the newly released version(s) diff --git a/docs/maintenance/Team.mdx b/docs/maintenance/Team.mdx new file mode 100644 index 000000000000..c93904328a94 --- /dev/null +++ b/docs/maintenance/Team.mdx @@ -0,0 +1,45 @@ +--- +id: team +title: Team +--- + +import { TeamBioList } from '@site/src/components/team/TeamBioList'; + +## Maintainers + + + +## Committers + + diff --git a/docs/maintenance/Dependency_Version_Upgrades.mdx b/docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx similarity index 96% rename from docs/maintenance/Dependency_Version_Upgrades.mdx rename to docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx index ec0137f53b02..73d4e4fbed2d 100644 --- a/docs/maintenance/Dependency_Version_Upgrades.mdx +++ b/docs/maintenance/pull-requests/Dependency_Version_Upgrades.mdx @@ -31,7 +31,7 @@ Whenever you discover any new areas of work that are blocked by dropping an old 1. Upgrade the root `package.json` `devDependency` to the latest ESLint 1. Add the new major version to the explicit `peerDependency` versions 1. Check [`eslint-visitor-keys`](https://www.npmjs.com/package/eslint-visitor-keys) for a new version to be upgraded to as well. -1. Update [Users > Dependency Versions > ESLint](../users/Dependency_Versions.mdx#eslint) +1. Update [Users > Dependency Versions > ESLint](../../users/Dependency_Versions.mdx#eslint) ### Removing Support for an Old ESLint Version @@ -42,7 +42,7 @@ Whenever you discover any new areas of work that are blocked by dropping an old - `/eslint.*5/i` - `/todo.*eslint.*5/i` - `/todo.*eslint/i` -1. Update [Users > Dependency Versions > ESLint](../users/Dependency_Versions.mdx#eslint) +1. Update [Users > Dependency Versions > ESLint](../../users/Dependency_Versions.mdx#eslint) See [chore: drop support for ESLint v6](https://github.com/typescript-eslint/typescript-eslint/pull/5972) for reference. @@ -115,7 +115,7 @@ A single PR can remove support for old TypeScript versions as a breaking change: 1. Update the root `package.json` `devDependency` 1. Update the `SUPPORTED_TYPESCRIPT_VERSIONS` constant in `warnAboutTSVersion.ts` 1. Update the `versions` constant in `version-check.ts` -1. Update [Users > Dependency Versions > TypeScript](../users/Dependency_Versions.mdx#typescript) +1. Update [Users > Dependency Versions > TypeScript](../../users/Dependency_Versions.mdx#typescript) 1. Search for source code comments (excluding `CHANGELOG.md` files) that mention a now-unsupported version of TypeScript. - For example, to remove support for v4.3, searches might include: - `4.3` diff --git a/docs/users/Dependency_Versions.mdx b/docs/users/Dependency_Versions.mdx index 8f0094ce1561..018ed071842b 100644 --- a/docs/users/Dependency_Versions.mdx +++ b/docs/users/Dependency_Versions.mdx @@ -55,4 +55,4 @@ See: [Packages > Parser > `warnOnUnsupportedTypeScriptVersion`](../packages/Pars ## Dependant Version Upgrades -See [Maintenance > Dependent Version Upgrades](../maintenance/Dependency_Version_Upgrades.mdx) for maintenance steps to update these versions. +See [Maintenance > Dependent Version Upgrades](../maintenance/pull-requests/Dependency_Version_Upgrades.mdx) for maintenance steps to update these versions. diff --git a/docs/users/Releases.mdx b/docs/users/Releases.mdx index 28b7099817c6..4ad0fdd9db70 100644 --- a/docs/users/Releases.mdx +++ b/docs/users/Releases.mdx @@ -73,9 +73,9 @@ We currently do not have a set schedule around when major releases shall be perf We keep a backlog of breaking issues as a milestone on GitHub that is named in the form `${major}.0.0`. When we do do a major release, we release a release candidate version to the `rc-v${major}` tag on npm for each commit to the major branch. -See [Maintenance > Major Release Steps](../maintenance/Major_Release_Steps.mdx) for steps to perform a major release. +See [Maintenance > Releases](../maintenance/Releases.mdx#major-releases) for steps to perform a major release. -## Out-of-Band +## Out-of-Band Releases We will do releases "out-of-band" (outside the [latest](#latest) schedule) for rare emergencies. We assess need on a case-by-case basis though generally an emergency is defined as a critical regression specifically introduced in the latest release. diff --git a/packages/website/sidebars/sidebar.base.js b/packages/website/sidebars/sidebar.base.js index f9d408bbb43f..b4f68f1ac8dc 100644 --- a/packages/website/sidebars/sidebar.base.js +++ b/packages/website/sidebars/sidebar.base.js @@ -63,7 +63,8 @@ module.exports = { type: 'category', }, { - collapsible: false, + collapsed: false, + collapsible: true, items: [ 'packages/eslint-plugin', 'packages/eslint-plugin-tslint', @@ -104,11 +105,12 @@ module.exports = { type: 'category', }, { + collapsible: true, items: [ 'maintenance/branding', - 'maintenance/dependency-version-upgrades', + 'maintenance/contributor-tiers', { - collapsible: false, + collapsible: true, items: ['maintenance/issues/rule-deprecations'], label: 'Issues', link: { @@ -117,8 +119,18 @@ module.exports = { }, type: 'category', }, - 'maintenance/major-release-steps', - 'maintenance/pull-requests', + 'maintenance/releases', + { + collapsible: true, + items: ['maintenance/pull-requests/dependency-version-upgrades'], + label: 'Pull Requests', + link: { + id: 'maintenance/pull-requests', + type: 'doc', + }, + type: 'category', + }, + 'maintenance/team', ], label: 'Maintenance', link: { diff --git a/packages/website/src/components/team/TeamBio.tsx b/packages/website/src/components/team/TeamBio.tsx new file mode 100644 index 000000000000..6c14bee55bb9 --- /dev/null +++ b/packages/website/src/components/team/TeamBio.tsx @@ -0,0 +1,19 @@ +import React from 'react'; + +export interface BioEntry { + name: string; + photo: string; + description: string; +} + +export function TeamBio({ + description, + name, + photo, +}: BioEntry): React.JSX.Element { + return ( +
  • + {name} {description} +
  • + ); +} diff --git a/packages/website/src/components/team/TeamBioList.tsx b/packages/website/src/components/team/TeamBioList.tsx new file mode 100644 index 000000000000..5a2f867f65a0 --- /dev/null +++ b/packages/website/src/components/team/TeamBioList.tsx @@ -0,0 +1,21 @@ +import React from 'react'; + +import type { BioEntry } from './TeamBio'; +import { TeamBio } from './TeamBio'; + +export type BioTier = 'committer' | 'maintainer'; + +export interface TeamBioListProps { + bios: Omit[]; + tier: BioTier; +} + +export function TeamBioList({ bios }: TeamBioListProps): React.JSX.Element { + return ( +
      + {bios.map(bio => ( + + ))} +
    + ); +} From 81c310b6e5b730b033dd10a9689c89586a30d3fc Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 12 Dec 2023 14:44:46 -0500 Subject: [PATCH 2/5] Remove /team placeholder page and components --- docs/maintenance/Contributor_Tiers.mdx | 2 +- docs/maintenance/Team.mdx | 45 ------------------- packages/website/sidebars/sidebar.base.js | 1 - .../website/src/components/team/TeamBio.tsx | 19 -------- .../src/components/team/TeamBioList.tsx | 21 --------- 5 files changed, 1 insertion(+), 87 deletions(-) delete mode 100644 docs/maintenance/Team.mdx delete mode 100644 packages/website/src/components/team/TeamBio.tsx delete mode 100644 packages/website/src/components/team/TeamBioList.tsx diff --git a/docs/maintenance/Contributor_Tiers.mdx b/docs/maintenance/Contributor_Tiers.mdx index 3880de32ebf0..af41ccb4d3d9 100644 --- a/docs/maintenance/Contributor_Tiers.mdx +++ b/docs/maintenance/Contributor_Tiers.mdx @@ -147,7 +147,7 @@ We'll then grant you the role on Discord and profusely thank you for everything ### Recognition -Depending on the tier you reach, you can also provide information for the [Team page](./Team.mdx): +Depending on the tier you reach, you can also provide information for the upcoming Team page: - Contributor and Code Contributor: Preferred photo, name, social media handles - Committer and Maintainer: ~2 paragraph bio of yourself diff --git a/docs/maintenance/Team.mdx b/docs/maintenance/Team.mdx deleted file mode 100644 index c93904328a94..000000000000 --- a/docs/maintenance/Team.mdx +++ /dev/null @@ -1,45 +0,0 @@ ---- -id: team -title: Team ---- - -import { TeamBioList } from '@site/src/components/team/TeamBioList'; - -## Maintainers - - - -## Committers - - diff --git a/packages/website/sidebars/sidebar.base.js b/packages/website/sidebars/sidebar.base.js index b4f68f1ac8dc..db6fc529db8c 100644 --- a/packages/website/sidebars/sidebar.base.js +++ b/packages/website/sidebars/sidebar.base.js @@ -130,7 +130,6 @@ module.exports = { }, type: 'category', }, - 'maintenance/team', ], label: 'Maintenance', link: { diff --git a/packages/website/src/components/team/TeamBio.tsx b/packages/website/src/components/team/TeamBio.tsx deleted file mode 100644 index 6c14bee55bb9..000000000000 --- a/packages/website/src/components/team/TeamBio.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react'; - -export interface BioEntry { - name: string; - photo: string; - description: string; -} - -export function TeamBio({ - description, - name, - photo, -}: BioEntry): React.JSX.Element { - return ( -
  • - {name} {description} -
  • - ); -} diff --git a/packages/website/src/components/team/TeamBioList.tsx b/packages/website/src/components/team/TeamBioList.tsx deleted file mode 100644 index 5a2f867f65a0..000000000000 --- a/packages/website/src/components/team/TeamBioList.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; - -import type { BioEntry } from './TeamBio'; -import { TeamBio } from './TeamBio'; - -export type BioTier = 'committer' | 'maintainer'; - -export interface TeamBioListProps { - bios: Omit[]; - tier: BioTier; -} - -export function TeamBioList({ bios }: TeamBioListProps): React.JSX.Element { - return ( -
      - {bios.map(bio => ( - - ))} -
    - ); -} From 83c1350bad75b6b3d17c55c4948469c5a64f1b06 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 12 Dec 2023 14:49:19 -0500 Subject: [PATCH 3/5] Finished TODOs --- docs/Maintenance.mdx | 2 +- docs/maintenance/Contributor_Tiers.mdx | 2 +- docs/maintenance/Releases.mdx | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/Maintenance.mdx b/docs/Maintenance.mdx index 61ce33241959..0d599b38a376 100644 --- a/docs/Maintenance.mdx +++ b/docs/Maintenance.mdx @@ -33,7 +33,7 @@ The discussion will be shared at the beginning, middle, and end of that month on ## Providing Feedback We're always receptive to suggestions on how to improve our processes! -For general feedback, we'd suggest posting in the [`#TODO` channel on Discord](https://discord.gg/TODO). +For general feedback, we'd suggest posting in the [`#development` channel on Discord](https://discord.com/channels/1026804805894672454/1088474511759917106). We can help you turn that into a GitHub discussion. :::note diff --git a/docs/maintenance/Contributor_Tiers.mdx b/docs/maintenance/Contributor_Tiers.mdx index af41ccb4d3d9..894345bb1ea5 100644 --- a/docs/maintenance/Contributor_Tiers.mdx +++ b/docs/maintenance/Contributor_Tiers.mdx @@ -140,7 +140,7 @@ Any other activities (e.g. responding to Discord threads, working on upstream de ## Advancement Each tier corresponds to a role on Discord. -When you first hit a tier, you can post in the [`#contributing` channel on Discord](https://discord.gg/TODO). +When you first hit a tier, you can post in the [`#roles` channel on Discord](https://discord.com/channels/1026804805894672454/1184219870691328051). We will confirm privately that you've hit the intent of the contribution tiers. We'll then grant you the role on Discord and profusely thank you for everything you've done. ❤️ diff --git a/docs/maintenance/Releases.mdx b/docs/maintenance/Releases.mdx index 93d9a1cf9c0f..95a5e20b0a92 100644 --- a/docs/maintenance/Releases.mdx +++ b/docs/maintenance/Releases.mdx @@ -59,5 +59,5 @@ If that happens: 1. Post in a private maintenance Discord channel that you're working on it 1. Send a pull request resolving the issue(s) 1. Waiting up to a day (as reasonable) for approval before merging the PR -1. Trigger the [TODO](https://github.com/TODO) workflow to cause a new release +1. Trigger the private release workflow to cause a new release 1. Post back in those same issue(s) with a link to the newly released version(s) From 9d152c5e4c4f9ac049950ac71e2d782cffff16ec Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Tue, 12 Dec 2023 15:17:38 -0500 Subject: [PATCH 4/5] proofreading --- docs/maintenance/Contributor_Tiers.mdx | 22 +++++++++++----------- docs/maintenance/Issues.mdx | 10 +++++----- docs/maintenance/Pull_Requests.mdx | 2 +- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/docs/maintenance/Contributor_Tiers.mdx b/docs/maintenance/Contributor_Tiers.mdx index 894345bb1ea5..aebf7ebe20d2 100644 --- a/docs/maintenance/Contributor_Tiers.mdx +++ b/docs/maintenance/Contributor_Tiers.mdx @@ -91,7 +91,7 @@ We treat both the creation and review of issues and PRs along the rough scale of Small typos or single-file bugfixes 1 - + #6976 , #6992 @@ -102,10 +102,10 @@ We treat both the creation and review of issues and PRs along the rough scale of 2-3 files at most, with minimal logical changes 2 - + #6780 - , #6910 + , #6910 @@ -113,10 +113,10 @@ We treat both the creation and review of issues and PRs along the rough scale of Multi-file logical changes that require real review+thought 3 - + #6107 - , #6907 + , #6907 @@ -124,10 +124,10 @@ We treat both the creation and review of issues and PRs along the rough scale of Dozen+ file logical changes that require deep investigation ≥5* - + #6084 - , #6777 + , #6777 @@ -139,15 +139,15 @@ Any other activities (e.g. responding to Discord threads, working on upstream de ## Advancement -Each tier corresponds to a role on Discord. +Each tier corresponds to a role on Discord and GitHub. When you first hit a tier, you can post in the [`#roles` channel on Discord](https://discord.com/channels/1026804805894672454/1184219870691328051). We will confirm privately that you've hit the intent of the contribution tiers. -We'll then grant you the role on Discord and profusely thank you for everything you've done. ❤️ +We'll then grant you the role on Discord and GitHub and profusely thank you for everything you've done. ❤️ ### Recognition -Depending on the tier you reach, you can also provide information for the upcoming Team page: +Depending on the tier you reach, you can also provide information for an upcoming _Team_ page: - Contributor and Code Contributor: Preferred photo, name, social media handles - Committer and Maintainer: ~2 paragraph bio of yourself @@ -157,7 +157,7 @@ See existing bios for examples of what to put. :::note You can decline to opt into the Discord role or site recognition, and you can always opt out after the fact. Nothing is mandatory. -We just like including recognition as thanks to the community for working with us. 💕 +We just like including recognition as thanks for working with us. 💕 ::: ## Reimbursement diff --git a/docs/maintenance/Issues.mdx b/docs/maintenance/Issues.mdx index 68f20e899da7..b77f0ee8c571 100644 --- a/docs/maintenance/Issues.mdx +++ b/docs/maintenance/Issues.mdx @@ -5,7 +5,7 @@ title: Issues This document serves as a guide for how you might manage our [GitHub Issues](https://docs.github.com/issues), also known as issue triaging. -Use your best judgement when triaging issues, and most of all remember to be **kind, friendly, and encouraging** when responding to users. +Use your best judgement when triaging issues, and most of all remember to be **encouraging, friendly, and kind** when responding to users. Many users are new to open source and/or typed linting. It's imperative we give them a positive, uplifting experience. @@ -32,17 +32,17 @@ Don't treat these as exact responses you must use: they're just a starting copy+ Please do adopt your specific responses to your personal tone and to match the thread for non-straightforward issues. ::: -[Issues pending triage](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3Atriage) are searchable the `triage` label. +[Issues pending triage](https://github.com/typescript-eslint/typescript-eslint/issues?q=is%3Aopen+is%3Aissue+label%3Atriage) are searchable with the `triage` label. That label is added automatically when a new issue is created. Most issues go through the following review flow when created or updated: 1. A maintainer ensures the issue is valid: - If the poster didn't fill out an appropriate template with enough information: - - Add the `please fill out the template` and `awaiting response` labels + - Add the `please fill out the template` and `awaiting response` labels, and remove the `triage` label - Ask the poster for more information using a _Needs More Info_ response - If it's a duplicate of an issue that already exists: - - Add the `duplicate` label and remove the `bug` label - - If it's an obvious duplicate, post a _Clearly Duplicate Issue_ response + - Add the `duplicate` label and remove the `bug` and `triage` labels + - If it's an obvious duplicate, post a _Clearly Duplicate Issue_ response linking to the existing issue - If it's not an obvious duplicate, link to the existing issue and explain why - If the code is working as intended: - Add the `working as intended` label and remove the `bug` and `triage` labels diff --git a/docs/maintenance/Pull_Requests.mdx b/docs/maintenance/Pull_Requests.mdx index 55d9c1ff3d5e..4ed8fa9c513f 100644 --- a/docs/maintenance/Pull_Requests.mdx +++ b/docs/maintenance/Pull_Requests.mdx @@ -17,7 +17,7 @@ If you're ever unsure on any part of PR reviews, don't hesitate to loop in a mai Per the scales from [Contribution Tiers > Pointing](./Contributor_Tiers.mdx#pointing): -- Straightforward: Aat reviewer discretion, may be merged with a single approval by any committer or maintainer. +- Straightforward: At reviewer discretion, may be merged with a single approval by any committer or maintainer. This includes docs enhancements, bug fixes, and feature additions. - Non-straightforward: may be merged with either two committer approvals or one maintainer approval. These include multi-package internal refactors and non-breaking public API changes. From 589d9ae8456092252100c7b7fe7b5d477ff6efa1 Mon Sep 17 00:00:00 2001 From: Josh Goldberg Date: Sat, 23 Dec 2023 20:24:32 -0500 Subject: [PATCH 5/5] Don't remove 'bug' --- docs/maintenance/Issues.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/maintenance/Issues.mdx b/docs/maintenance/Issues.mdx index b77f0ee8c571..52794f3e7e70 100644 --- a/docs/maintenance/Issues.mdx +++ b/docs/maintenance/Issues.mdx @@ -41,7 +41,7 @@ Most issues go through the following review flow when created or updated: - Add the `please fill out the template` and `awaiting response` labels, and remove the `triage` label - Ask the poster for more information using a _Needs More Info_ response - If it's a duplicate of an issue that already exists: - - Add the `duplicate` label and remove the `bug` and `triage` labels + - Add the `duplicate` label and remove the `triage` label - If it's an obvious duplicate, post a _Clearly Duplicate Issue_ response linking to the existing issue - If it's not an obvious duplicate, link to the existing issue and explain why - If the code is working as intended: