Skip to content

Issue Tracking in NeoHaskell #127

@NickSeagull

Description

@NickSeagull

Welcome to NeoHaskell! Our issue tracking system helps keep things organized and ensures contributors can easily find tasks that match their skills and interests. We use a structured set of labels to provide clarity and make collaboration smoother. Here’s a friendly guide to how we label issues and how you can help!


How We Label Issues

We categorize issues using different types of labels. Each one serves a purpose:

  • Effort: An estimate of how much time the issue might take.
  • Priority: Some things are more important than others, but since this is open-source, there are no strict deadlines!
  • State: Where the issue currently stands (e.g., pending, approved, or blocked).
  • Type: What kind of issue is it? A bug? A new feature? Documentation?
  • Package: Which part of NeoHaskell it relates to (CLI, core, IDE, syntax, etc.).
  • Work Complexity (Cynefin Framework): Helps decide the best way to tackle the issue.

Understanding the Work Complexity Labels

These labels help us determine the best approach to solving an issue:

  • work: obvious → A straightforward task. Just follow best practices!
  • work: complicated → Needs some in-depth problem-solving but has a clear path.
  • work: complex → The solution isn’t clear, so experimentation and iteration are required.
  • work: chaotic → Something is broken! Fix it first, then refine.
  • work: confused → We need more details before we can proceed.

How to Label a New Issue

  1. Figure out what kind of issue it is

    • Use type: labels like bug, feature, or docs to describe it.
  2. Estimate the effort required

    • Apply an effort: label to give an idea of how long it might take.
  3. Decide how urgent it is

    • Since NeoHaskell is open-source, priority is more about impact than deadlines. Label as priority: important, soon, or urgent if needed.
  4. Set the issue’s state

    • If it's ready to be worked on, mark it as state: approved.
    • If it’s waiting on something, use state: blocked, inactive, or pending.
  5. Tag the relevant package

    • Choose a package: label like cli, core, ide, or syntax.
  6. Determine work complexity

    • Use the work: labels to decide how we should approach the issue.
  7. Add any extra labels

    • good first issue: Great for newcomers!
    • help wanted: Needs extra attention or community input.

Final Thoughts

NeoHaskell is a community-driven project, and labeling issues properly helps everyone. Whether you're looking for something to work on or trying to prioritize fixes. Happy coding! 🚀

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions