Skip to content

Issue and PR Labels

Tylor Steinberger edited this page Jul 7, 2017 · 3 revisions

Issue and PR Labels

Motorcycle.ts makes use of a number of issue and PR labels to communicate the type, status, scope, priority, and size of issues and pull requests. Here we will try to go in-depth about what each label category means and if required each individual label.

Table of contents

Scope

Labels belonging to the Scope category are meant to represent where in the Motorcycle code base is the issue addressing, or what package the changes of a PR are being made.

Scope: meta

This issue label is for issues that do not affect any particular package but affects the monorepo as a whole. This could be a upgrading a devDependency in the root package.json or adjusting a build script.

Scope: types

This issue label is for all changes that affect @motorcycle/types

Scope: stream

This issue label is for all changes that affect @motorcycle/stream

Scope: run

This issue label is for all changes that affect @motorcycle/run

Scope: test

This issue label is for all changes that affect @motorcycle/test

Scope: dom

This issue label is for all changes that affect @motorcycle/dom

Scope: html

This issue label is for all changes that affect @motorcycle/html

Scope: history

This issue label is for all changes that affect @motorcycle/history

Scope: router

This issue label is for all changes that affect @motorcycle/router

Scope: http

This issue label is for all changes that affect @motorcycle/http

Scope: storage

This issue label is for all changes that affect @motorcycle/storage

Scope: i18n

This issue label is for all changes that affect @motorcycle/i18n

Type

This issue category is used for defining what an issue is for.

Type: Discussion

For issues that require discussion.

Type: Bug

For issues that report bugs in a package or packages.

Type: Feature

For issues that suggest a feature

Type: Breaking

For issues that, if accepted, would be a breaking change to a package or packages.

Type: Chore

For issues that are not source code changes. e.g. A NPM script adjustment or updating a dependency.

Type: Regression

For issues that represent a regression between releases

Type: Question

For issues that are simple questions

Status

Status labels are used to represent at what stage an issue is currently at. e.g. If an issue needs more information from the original poster or is actively being worked on.

Status: Blocked

For all issues that are blocked by the resolution of another issue

Status: Help Wanted

For issues that community contributions would be most graciously accepted

Status: In Progress

For issues that are actively being worked on. These issues should also be assigned to the user working on that issue.

Status: Info Needed

For an issue does not have enough information to help other solve and close that issue

Status: Needs testcase

For pull-requests that are made but are missing one or more testcases.

Status: Pending discussion

For issues and pull-requests that need more input from other contributors.

Status: Pending verification

For bug report issues that have not yet been reproduced by another contributor

Status: PR Submitted

For issues that have a PR ready for review

Status: Under Review

For issues or PR's that are actively under review

Resolution

When an issue is closed without a corresponding PR it will be given a Resolution label. A resolution is not final and can be later remove and the issue reopened if required.

Resolution: Cannot reproduce

When an issue is reporting a bug, but that bug cannot be reproduced or a simple test case can not be found, it will be close and given this label and closed.

Resolution: Fixed

When an issue is reporting a bug, and that bug has been fixed, it will be given this label and close.

Resolution: Won't fix for now

When an issue is reporting a possible change or bug but the proposed change is disagreed upon, it will be given this label and close.

Size

The size of an issue is how much work is required to close that issue. 1 being more beginner-friendly with a smaller amount of work required, and 4 being the largest likely requiring more knowledge of the code base.

Priority

This priority of a task where 1 is urgently needed and 4 is the least urgent.