Skip to content

Latest commit

 

History

History
137 lines (103 loc) · 5.85 KB

TRIAGE.md

File metadata and controls

137 lines (103 loc) · 5.85 KB

Thanks for showing interesting in Chakra triage! This document serves as an overview of the triage team for our repository. It covers topics such as the importance of triage in an open-source project, the goals of the triage team, and the triage process itself.

🕵️‍️ What is triage?

Triage is the process by which we manage community input coming into our repository. Whether it is a feature request, a bug report, a pull request, or something else entirely, each item requires direct attention from an organization member in order to parse and understand what it is the user expects of the library or is trying to accomplish.

Users with the "triage" role are granted permissions to manage issues and pull requests, which includes adding labels and milestones, opening and closing issues, and more.

Effective use of this responsibility is an essential part of the process that maintains Chakra's growth.

🥇 Why is triage important?

Along with writing code and documentation, triage is one of the most important parts of an open-source project.

🗣 User engagement

Our users are our project's lifeblood. They come from many different backgrounds and situations, and have many different issues and needs.

Engaging with them as fellow humans, demonstrating their importance to us by responding to them in a timely fashion, and helping them accomplish their goals are some of the most important tasks we have as an organization.

The triage team plays a huge part in this. By being the direct face of the organization in managing issues and pull requests, team members have a unique opportunity to make our users feel welcome and respected, and to demonstrate to them that we're working our hardest to make Chakra the best it can be.

⏱ Time management

None of us is getting paid to work on this project and we all have busy lives outside of Chakra, so contributor time is one of the most important resources we have available to us.

As a growing project with an ever-larger number of users, Chakra receives a large volume of issues and pull requests each week. Each of these needs to be addressed in some way, and addressing them takes time. Given enough issues and pull requests, a contributor could dedicate all of their time to managing these alone. Trust me, I know from experience.

Having an effective triage team will offload some of the burden of this time-consuming process from contributors, so they can focus directly on code and documentation.

🏎 Velocity

To keep the development and documentation processes running smoothly, it is important that each piece of input from the community is groomed, labeled, assigned a level of effort and importance, attached to a version milestone, and possibly assigned to a specific individual or project.

This enables contributors to understand what work is available at any given time and provides them with the information they need to get started immediately, without having to first read through long issue threads or ask questions of the user.

It allows them to focus on the work to be done, which means more will be accomplished in less time.

🌐 Building a web of knowledge

Chakra is a large project with lots of moving parts. It can be hard for us as members of the organization to keep up with everything going on, so imagine how it must feel to be a user new to the project or unfamiliar with how we work.

Triage team members can make this easier by helping users find their way around the project.

Pull requests linked to corresponding issues allow users to see the work that has been done on an issue. Linking to other issues and discussions provides users with context around the problems we face and the direction we're heading. Guiding users to the documentation helps them learn.

✨ Goals

  • contributors have a list of issues that are well-groomed, allowing them to quickly understand each issue and the work required to resolve it
  • users feel welcome and respected
  • you're having fun!

📋 Triage process

This section documents the triage process. It is impossible to plan out a scenario for each possible interaction, but this gives an overview of what it is triage team members should be doing.

Issues

  • respond to new issues in a timely manner
  • groom each issue to validate that it has all the information a contributor will need to work on it
  • categorize the issue using labels to provide context
    • effort: an estimate of how much time an issue might take to resolve
    • priority: the importance of a particular issue
      • this might be better left for contributors to add a label for, unless the issue is urgent
    • type: whether the issue is a bug report, feature request, documentation or website issue, etc.
    • topic: what areas of the project the issue relates to (a11y, browser support, design, tooling, etc.)

Bug reports

  • validate that the report is accurate and not caused by user error
  • request additional information if the report is unclear
  • request a reproduction of the issue in CodeSandbox
  • if the bug has already been reported, close the issue and link the user to the existing issue

Feature requests

  • if the feature already exists, point the user to the relevant docs
  • make sure the user has explained the request well enough that a maintainer can determine if it is something we'd like to add to Chakra
  • if it makes sense, ask the user to provide examples of the API they imagine for the feature and/or examples of how the feature would be used

Pull requests

  • validate that the pull request template has been filled out
  • link the pull request to any related issues
  • categorize the pull request using labels to provide context
    • type: whether the issue is a bug report, feature request, documentation or website issue, etc.
    • topic: what areas of the project the issue relates to (a11y, browser support, design, tooling, etc.)