Skip to content
Brian Schrader edited this page Nov 29, 2017 · 2 revisions

This is a guide for understanding the meaning of various issues labels.

Introduction

Most Issue Labels are in the form key/value to allow for more categorization options. This guide breaks down the labels by Key then Value. Clicking the name of the tag will take you to a list of issues tagged with that label.

Difficulty

  • Easy: Issues labeled as Easy are typically things like Label fixes, simple code changes, or other improvements/fixes that don't require a deep understanding of the codebase and the intermingling sub-systems in Adventurer's Codex. Issues labeled "Easy" will be the best place for developers looking to get started with the codebase or anyone looking to make a change without a large time commitment.

  • Complex: Complex issues require a more in-depth understanding of the inner workings of Adventurer's Codex. The exact nature of what is required is usually tagged as additional type or module labels. These are not recommended for beginners.

  • Unknown: Typically issues labeled "unknown" haven't been categorized or spec-ed out well enough to merit an honest attempt at a fix yet. This is intended to be an initial state for issues that are logged, but require more fleshing out to estimate.

Module

  • DM-Tool: These are issues relating to the UI or functionality of the DM-Tools (encounters, notes, etc). These do not include things like the Party Dashboard since those are considered party (collaboration) tools.

  • Player: These are issues relating to the UI or functionality of the Player-Tools (weapons, armor, stats, notes, etc). These do not include things like the Party Dashboard since those are considered party (collaboration) tools.

  • Collaboration: These are any features/UI that involves the syncing of data between clients in a connected party. Collaboration (aka Party) Tools are mostly hidden until a user joins a given party and usually involve non-trivial networking and XMPP backend integrations.

  • Services-Utilities: These are issues relating to the backend, cross-discipline set of services and utilities which make them difficult to classify as either for DMs or Players directly. Typically these have little UI involved.

Severity:

  • Blocking Release: Issues that are required to be completed before a release can be deployed are marked with this tag. Typically these issues are either significant bug fixes, or the headlining features of a new release.

  • Non-Blocking Release: These issues are less important and a new release can proceed without them. Severity can change frequently over an issue's lifecycle so keeping up with these changes is very important. Sometimes features once thought crucial can be demoted and vice versa.

Type

  • Bug: This label is attached to any non-intended behavior found by users or developers. Serious bugs will also be labeled with severity/blocking-release.

  • Code Design: This label is used for any changes that are code related, without an obvious user-facing result. Things like large refactors, deprecations, or architectural changes are tagged with this label.

  • Documentation: Tickets that require the addition/deletion/changing of related documentation will be tagged with this label.

  • Feature Request: Feature requests is a broad category of any user-facing change that results in a new feature or desired behavior in the client UI or other functionality. Typically this is used for completely new additions or large changes that alter the user's behavior or expectations (new buttons, new functionality, or UX-redesigns). This label can be difficult to distinguish from type/enhancement-to-current-feature because the kinds of issues can be very similar. In general, if a request changes existing functionality for the better or in a relatively small way then it's an enhancement to a feature, not a full feature request.

  • Enhancement to Current Feature: This label is used to categorize smaller feature requests that mostly alter or improve the function of an existing feature (changing the color of a button, or adding an alert once an existing feature is triggered). See type/feature-request for more information about the differences between feature-requests and feature-enhancements.

  • Testing: This label collects all things to do with testing in any form (automated, unit, integration, regression, end-to-end, usability, manual, etc). Typically these involve creating, deleting or fixing tests.

  • UI Design: This is a very general category for any changes or features that involve new or altered UI. Typically these are not ideal for contributors since we're pretty picky about the UI that get's committed. Feel free to tackle these issues, but note that UI related changes will probably be requested at PR-time.

  • Needs Discussion: Issues that are not properly sped-ed or require additional grooming before tackling are labeled as type/needs-discussion these are not open for contributions yet because the feature isn't completely thought out. Tackle these at your own risk. These issues could be removed or drastically altered before they're ready for building. These issues are frequently not actual tasks, but discussion threads for hashing out new ideas or feature ideas with the community.

Clone this wiki locally