Skip to content

Good first issue template

Timo Cornelius Metzger edited this page Nov 30, 2021 · 2 revisions

Motivation

To make it easier for people to make their first contribution to Bokeh, we want to improve the experience around good first issues. Whenever a core team member decides to apply the good first issue tag to an issue, we will use the template defined on this wiki page.

Workflow

Use the following general workflow:

  • If the issue you are tagging as good first issue is still relatively new and does not have more than one or two comments in addition to the original issue text, adapt and add this template as a comment to this issue.
  • If the issue you are tagging as good first issue already has several comments or numerous links to other discussions/issues/PRs, close that original issue and open a new issue using this template and summarizing information from the previous discussion. Also, make sure to link between the old, closed issue and the newly opened issue.

Please adapt all sections that are currently in curly brackets ({}) to the current issue. All other parts of the template should remain as they are but can also be adapted if necessary.

Template

This is the template (MD for copy/paste):

# Good first issue
This issue has been labeled “good first issue”. This means it should be especially well suited for new contributors. 

In general, good First Issues are:
* Self-contained: only involving limited aspects of Bokeh and optimally only requiring changes to one or two files
* Easily explainable: A potential solution can be described without going too much into the details of how Bokeh works

---

## Description of the issue

{Repeat in our own words what the problem is and what a solution to resolve this issue would look like [1 to 2 paragraphs].}

{Briefly describe why fixing this issue is important and appreciated [1 paragraph].}

{Include a list of what needs to be done to successfully close this issue (basically a definition of done). For example:}

A Pull Request resolving this issue should include:
- {Updated attributes foo and bar of model Foo in Python}
- {Updated model Foo in BokehJS and updated view to handle bar}
- {Updated documentation (docstrings and user guide chapter Foo)}
- {Updated visual tests and Python unit tests}

## Prerequisites

Before getting started with a Pull Request, you need to set up a development environment. Please follow the step-by-step instructions in [Setting up a development environment](https://docs.bokeh.org/en/latest/docs/dev_guide/setup.html#contributor-guide-setup). 

{Describe the specific skills required to fix this issue, including links to the relevant parts of the documentation}

## Solution walkthrough

These are the steps that will most likely get this issue resolved:

{Include a list of step-by-step instructions on what is required to fix the issue}

Once you decide to work on this issue, please leave a note right here in the discussion to make sure no one else is working on this issue at the same time!

## Getting help

Bokeh developers are usually monitoring active issues and pull requests. Feel free to ask questions anytime, here in this issue or your pull request! You also have the option to tag ``@bokeh/dev`` in your message.

Also, check the [Additional resources](https://docs.bokeh.org/en/latest/docs/dev_guide.html#additional-resources) section in our contributor guide for more information on the various resources you can use to get help with your contribution. 

Please keep in mind that Bokeh is an open-source project mostly run by volunteers. Therefore, it might take some time to get an answer to a question or feedback on a pull request!

---

## Other ways to support Bokeh

If you feel like fixing this issue is just not the right way for you to support Bokeh, take a look at other issues with the ["good first issue" label](https://github.com/bokeh/bokeh/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22). There are also many other ways to support Bokeh, see [More ways to contribute](https://docs.bokeh.org/en/latest/docs/dev_guide.html#more-ways-to-contribute) for some ideas.