• Stars
    star
    265
  • Rank 154,577 (Top 4 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created almost 8 years ago
  • Updated about 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A friendly bot that helps onboarding new Open Source Contributors

first-timers-bot

Build Status Uptime Robot status

๐Ÿถ๐ŸŽฏโ›ณ The Motivation

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.

๐Ÿ’ก๐Ÿ’ฅโ“ How Things Work

Say Iโ€™m a Hoodie contributor and find a typo somewhere. Instead of fixing the issue directly in the repository's default 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 :)".

๐Ÿ˜ฎ๐Ÿ™Œ๐Ÿ‘€๐ŸŽ‰ Use Our Bot!

First-timers-bot is built with Probot.

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.

๐Ÿ˜ฑ๐Ÿ™Œ๐Ÿ˜Ž Result

Issue Example Here

Configuration

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.

Server Status

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

๐Ÿ‘ฉโ€๐Ÿ’ป๐Ÿ’•About Us

Angie Gonzalez
Angie Gonzalez
Arlene Perez
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.

Contributors

Thank you to everyone who has helped with this project.

Michael McCombie
Michael McCombie
๐ŸŽจ
Gregor Martynus
Gregor Martynus
๐Ÿ‘จ๐Ÿปโ€๐Ÿซ

This project follows the all-contributors specification.

License

Apache 2.0

More Repositories

1

hoodie

๐Ÿถ The Offline First JavaScript Backend
JavaScript
4,371
star
2

hoodie-server

๐Ÿถ Hapi plugin for Hoodieโ€™s server core module
JavaScript
244
star
3

hoodie-app-mapchat

An open source, offline capable, map based demo app.
JavaScript
115
star
4

hoodie-app-tracker

Default Hoodie App
JavaScript
103
star
5

camp

๐ŸŽช Welcome to Hoodie Camp!
HTML
99
star
6

hood.ie

๐Ÿถ Hoodie Website
HTML
74
star
7

pouchdb-hoodie-api

๐Ÿถ Hoodie-like API for PouchDB
JavaScript
43
star
8

account-json-api

REST-API Blueprint for all things user accounts and sesions
API Blueprint
35
star
9

hoodie-client

๐Ÿถ Client API for the Hoodie server
JavaScript
34
star
10

hoodie-css

Framework for all hoodie sites
CSS
30
star
11

editorial

๐Ÿ“™ The home of the Hoodie Editorial Team
23
star
12

hoodie-account-server

๐Ÿถ Account JSON API backed by PouchDB
JavaScript
22
star
13

pouchdb-hoodie-sync

๐Ÿถ Hoodie-like sync API for PouchDB
JavaScript
21
star
14

hoodie-app-skeleton

Boilerplate for a new Hoodie App
HTML
18
star
15

ember-hoodie

Build awesome offline-first Ember apps with Hoodie!
JavaScript
17
star
16

hoodie-admin

๐Ÿถ Hoodie Admin core module
JavaScript
13
star
17

faq

Frequently asked questions about Hoodie
JavaScript
11
star
18

hoodie-account-client

๐Ÿถ Account client API for the browser
JavaScript
11
star
19

slack-irc-duplex

JavaScript
10
star
20

hoodie-camp-tutorial

Tutorial for latest Hoodie Camp Release
HTML
9
star
21

couchdb-calculate-session-id

calculates valid CouchDB session IDs using username, salt, secret & timestamp
JavaScript
9
star
22

discussion

General discussions and questions about Hoodie
7
star
23

hoodie-store-server

๐Ÿถ CouchDB APIs for storing JSON data and sync
JavaScript
7
star
24

pouchdb-admins

PouchDB plugin to simulate CouchDBโ€™s admin accounts
JavaScript
7
star
25

pouchdb-users

PouchDB plugin to simulate CouchDBโ€™s _users database behavior
JavaScript
7
star
26

hoodie-plugin-hello-world

A sample Hoodie plugin
JavaScript
5
star
27

hoodie-connection-status

๐Ÿถ connection status API for the browser
JavaScript
5
star
28

hoodie-task

โ›” WORK IN PROGRESS - Showcase of a standalone server using only Task Client/Server
JavaScript
4
star
29

hoodie-store-server-api

API to manage databases, access and replications, backed by PouchDB
JavaScript
4
star
30

hoodie-log

๐Ÿถ log API for the browser
JavaScript
4
star
31

hoodie-account-server-api

๐Ÿถ Account JavaScript API backed by PouchDB
JavaScript
3
star
32

try.hood.ie

1, 2, โ€ฆ Hoodie!
CSS
3
star
33

hoodie-task-client

client api for asynchronous task queue, using PouchDB for sync
JavaScript
2
star
34

hoodie-admin-client

๐Ÿถ Client Admin API for the Hoodie server
JavaScript
2
star
35

hoodie-task-server

โ›” WORK IN PROGRESS - Hoodieโ€™s background Task queue backend
JavaScript
1
star