Skip to content

Proposal: Standardised Labels for Issues & PRs (Kanban / MoSCoW / Triage) #4

@chrisdebian

Description

@chrisdebian

Hi, guys.

I mentioned this in the Roadmap issue that I've just submitted. The aim of the following is to manage the issues and PRs via the built-in GitHub Projects Kanban, with much of the organisation being done by GitHub, based on any labels applied. As always, I'm just trying to help, so the ciders can code.

Cheers,

Chris

Purpose
This proposal introduces a consistent, colour-coded labelling scheme for
Issues and Pull Requests across the AerynOS GitHub organisation.

The labels are designed to:

  • Support triage at scale
  • Enable MoSCoW prioritisation
  • Feed cleanly into a GitHub Projects (v2) Kanban board
  • Improve contributor clarity and onboarding

This proposal complements the roadmap work and recent website coordination
efforts (e.g. dotcom issue #44).


🎯 Design Goals

  • Labels should be:
    • Easy to scan visually
    • Consistent across repositories
    • Useful for both maintainers and contributors
  • Labels should:
    • Be orthogonal (each label answers one question)
    • Avoid overloading single labels with multiple meanings
  • Labels should:
    • Map cleanly to GitHub Projects fields and filters

🧭 Label Categories Overview

Category Purpose
priority: MoSCoW prioritisation
type: What kind of work this is
status: Current lifecycle state
area: Which part of the project
effort: Rough implementation size
contributor: Contribution suitability

🔴 Priority Labels (MoSCoW)

Used to decide when something should be worked on

Label Description Colour
priority: must Critical for alpha/beta stability or blockers #B60205
priority: should Important but not blocking #D93F0B
priority: could Nice to have / opportunistic #FBCA04
priority: wont Explicitly out of scope (for now) #0E8A16

🧩 Type Labels

Describes what kind of issue or PR this is
(informed by repo structure and website content)

Label Description Colour
type: bug Something is broken or incorrect #D73A4A
type: feature New functionality #0E8A16
type: enhancement Improvement to existing functionality #A2EEEF
type: documentation Docs, guides, README changes #0075CA
type: infrastructure CI, build, mirrors, tooling infra #5319E7
type: installer Lichen / installation related #C5DEF5
type: packaging Recipes, packages, dependency changes #F9D0C4
type: website aerynos.com / dotcom #F7C6C7
type: tooling os-tools, moss, boulder #BFDADC
type: needs more information Not actionable yet (missing logs, repro, scope) #E4E669

🔄 Status Labels

Indicates where in the lifecycle the work currently sits

Label Description Colour
status: triage Needs initial review #C2E0C6
status: accepted Agreed and ready to schedule #0E8A16
status: blocked Blocked by another issue or decision #B60205
status: in progress Actively being worked on #0052CC
status: review needed Awaiting review or feedback #FBCA04
status: stalled No activity for a while #9E9E9E

🧭 Area Labels

Helps route issues to the right maintainers

Label Description Colour
area: os-tools moss / boulder #1D76DB
area: installer lichen / disks-rs #1D76DB
area: recipes Packaging #1D76DB
area: infra Build & hosting infrastructure #1D76DB
area: website dotcom / docs #1D76DB
area: docs Documentation content #1D76DB

📏 Effort Labels (Optional but Helpful)

Useful for sprint planning and contributor expectations

Label Description Colour
effort: small Few hours #C5DEF5
effort: medium 1–3 days #93C6E7
effort: large Multi-day / complex #4A90E2

🤝 Contributor-Friendly Labels

Label Description Colour
good first issue Safe for new contributors #7057FF
help wanted Maintainers would welcome help #008672

🧠 How This Maps to GitHub Projects

This label set enables:

  • Kanban columns via status:*
  • Priority swimlanes via priority:*
  • Filtered views by area:* or type:*
  • Automated workflows (e.g. auto-add status: triage)

📌 Suggested Next Steps

  1. Agree on label names & colours
  2. Create labels at the org level (or seed them repo-by-repo)
  3. Update contributing docs to reference the labels
  4. Wire labels into the GitHub Projects board

This proposal is intended to evolve alongside AerynOS and should be revisited as the project matures.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions