From our own experiences, we know the process of creating a pull request is the biggest barrier for new contributors. We wanted to streamline the process to create very simple contributor-friendly issues to help onboard more people to become Open Source contributors for the first time.
At Hoodie, we aim to become the most welcoming Open Source community possible. We joined forces with initiatives like First Timers Only and Your First PR to actively reach out to new contributors and create an environment where they feel encouraged and supported.
Creating what we call starter issues is one aspect of that. And it is one of the most successful. A subset of these starter issues are super simple fixes like typos, so they are perfect to onboard people and help them get familiar with GitHub and the pull request workflow. Because typos and similar issues are so trivial, we should basically be able to automatically generate the entire starter issue based on a diff.
Say I’m a Hoodie contributor and find a typo somewhere. Instead of fixing the issue directly in the master branch or creating a pull request which is time-consuming, I can simply create a new branch that is called something like first-timers-only-typo-in-title. GitHub will then notify the First Timers Bot about the new branch using Webhooks. The bot is listening to any new branch starting with first-timers- and it will create a new issue on your repo. The commit body can be used to add some context information and if left empty, the 🤔 What you will need to know section of the issue will simply say "Nothing :)".
Steps | Example |
---|---|
1) Install App on a repo of your choice | |
2) Click on the file you want to edit. | |
3) Make the change and write your commit message under Commit changes. Make sure to check Create a new branch at the bottom and the branch needs to start with "first-timers-". | |
4) Click on the issues tab and notice your issue was created with your change and commit message. The contributor would then follow the steps on the issue message. |
The first-timers app works without configuration. If you want to change the default settings, create a .github/first-timers.yml file with the content below and then you can adjust the options to your preference. When both the template & the repository is set, then the template is loaded from the configured repository at the configured template path.
# You can change the labels to suit your needs if "first-timers-only" is not what you are looking for.
# These are some examples.
labels:
- first-timers-only
# If you would like to add your own template for the issue, add an .md file to your .github folder
template: .github/first-timers-issue-template.md
# In order to load the template from another repository, prefix the path with "<repo>:", e.g.
# template: other-repo:.github/first-timers-issue-template.md
# You can create the issue in a different repo than where the problem is. Just make sure you installed the bot on the configured repository.
# The issue will link back to the original repository where the contribution will be made.
repository: repo-name
The following placeholders are supported in the template and will be replaced upon creation:
$DIFF
: The diff string$FILENAME
: The file name$BRANCH_URL
: URL to the file on github.com$REPO
: name of the repository$AUTHOR
: author of the user who created the commit$COMMIT_BODY
: The body of the commit
Configuration Example 🖥 💯
Our first-timers/app
repository’s .github/first-timers.yml
file is using hoodiehq/camp
repository’s .github/FIRST_TIMERS_ISSUE_TEMPLATE.md
file as a template to create an issue such as this one: hoodiehq/camp#126.
Make sure to verify that the status badge at the top of this file is labeled as up
. You can check the current status at https://stats.uptimerobot.com/LZ40Lcoj4
Angie Gonzalez |
Arlene Perez |
---|
Angie and Arlene are LA natives that met while attending Dev Bootcamp in San Francisco. After bootcamp was over and they were back in LA, they wanted to once again be part of an amazing, welcoming community like DBC was. They found Hoodie through Rails Girls Summer of Code! This project is extra special for them as it is their first contribution to open source.
Thank you to everyone who has helped with this project.
Michael McCombie 🎨 |
Gregor Martynus 👨🏻🏫 |
---|
This project follows the all-contributors specification.