|
| 1 | +# Express Triager Guide |
| 2 | + |
| 3 | +## Issue Triage Process |
| 4 | + |
| 5 | +When a new issue or pull request is opened the issue will be labled with `needs triage`. |
| 6 | +If a traige team member is available they can help make sure all the required information |
| 7 | +is provided. Depending on the issue or PR there are several next labels they can add for further |
| 8 | +classification: |
| 9 | + |
| 10 | +* `needs triage`: This can be kept if the triager is unsure which next steps to take |
| 11 | +* `awaiting more info`: If more info has been requested from the author, apply this label. |
| 12 | +* `question`: User questions which do not appear to be bugs or enahncements. |
| 13 | +* `discuss`: Topics for discussion. Might end in an `enhancement` or `question` label. |
| 14 | +* `bug`: Issues that present a reasonable conviction there is a reproducible bug. |
| 15 | +* `enhancement`: Issues that are found to be a reasonable candidate feature additions. |
| 16 | + |
| 17 | +In all cases, issues may be closed by maintainers if they don't receive timely response when |
| 18 | +further information is sought, or when additional questions are asked. |
| 19 | + |
| 20 | +## Approaches and Best Practices for getting into triage contributions |
| 21 | + |
| 22 | +Review the organization's [StatusBoard](https://expressjs.github.io/statusboard/), |
| 23 | +pay special attention to these columns: stars, watchers, open issues and contributors. |
| 24 | +This gives you a general idea about the criticality and health of the repository. |
| 25 | +Pick a few projects based on that criteria, your interests, and skills (existing or aspiring). |
| 26 | + |
| 27 | +Review the project's contribution guideline if present. In a nutshell, |
| 28 | +commit to the community's standards and values. Review the |
| 29 | +documentation, for most of the projects it is just the README.md, and |
| 30 | +make sure you understand the key APIs, semantics, configurations, and use cases. |
| 31 | + |
| 32 | +It might be helpful to write your own test apps to re-affirm your |
| 33 | +understanding of the key functions. This may identify some gaps in |
| 34 | +documentation, record those as they might be good PR's to open. |
| 35 | +Skim through the issue backlog; identify low hanging issues and mostly new ones. |
| 36 | +From those, attempt to recreate issues based on the OP description and |
| 37 | +ask questions if required. No question is a bad question! |
| 38 | + |
| 39 | +## Removal of Triage Role |
| 40 | + |
| 41 | +There are a few cases where members can be removed as triagers: |
| 42 | + |
| 43 | +- Breaking the CoC or project contributor guidelines |
| 44 | +- Abuse or misuse of the role as deemed by the TC |
| 45 | +- Lack of participation for more than 6 months |
| 46 | + |
| 47 | +If any of these happen we will discuss as a part of the triage portion of the regular TC meetings. |
| 48 | +If you have questions feel free to reach out to any of the TC members. |
| 49 | + |
| 50 | +## Other Helpful Hints: |
| 51 | + |
| 52 | +- Everyone is welcome to attend the [Express Technical Committee Meetings](https://github.com/expressjs/discussions#expressjs-tc-meetings), and as a triager it might help to get a better idea of what's happening with the project. |
| 53 | +- When exploring the modules functionality there are a few helpful steps: |
| 54 | + - Turn on `DEBUG=*` (see https://www.npmjs.com/package/debug) to get detailed log information |
| 55 | + - It is also a good idea to do live debugging to follow the control flow, try using `node --inspect` |
| 56 | + - It is a good idea to make at least one pass of reading through the entire source |
| 57 | +- When reviewing the list of open issues there are some common types and suggested actions: |
| 58 | + - New/unattended issues or simple questions: A good place to start |
| 59 | + - Hard bugs & ongoing discussions: always feel free to chime in and help |
| 60 | + - Issues that imply gaps in documentation: open PRs with changes or help the user to do so |
| 61 | +- For recurring issues, it is helpful to create functional examples to demonstrate (publish as gists or a repo) |
| 62 | +- Review and identify the maintainers. If necessary, at-mention one or more of them if you are unsure what to do |
| 63 | +- Make sure all your interactions are professional, welcoming and respectful to the parties involved. |
0 commit comments